@@ -1,5 +1,58 @@
Revision history for Dist-Zilla
+3.101461 2010-05-26 22:34:18 America/New_York
+
+3.101460 2010-05-26 08:14:23 America/New_York
+ note required version of Config::MVP::Reader::INI
+
+ require a newer CPAN::Meta::Converter for laxer url validation
+
+3.101450 2010-05-25 18:18:09 America/New_York
+ compatibility with Config::MVP v1
+
+ merge test requires into build requires for MakeMaker
+
+ require a newer CPAN::Meta::Converter for custom key downgrades
+
+3.101421 2010-05-22 20:48:10 America/New_York
+ note the new version of CPAN::Meta::Converter required
+
+3.101410 2010-05-21 22:17:44 America/New_York
+ cope with newest Config::MVP
+
+3.101400 2010-05-20 11:30:41 America/New_York
+ ModuleBuild now uses $^X to run Build (Christian Walde)
+
+ MakeMaker now uses the "make" program found in Config (Christian
+ Walde)
+
+3.101390 2010-05-19 09:15:32 America/New_York
+ INCOMPATIBLE CHANGES:
+
+ the as_distmeta method of Prereqs is removed
+
+ the ->prereq method on Dist::Zilla is gone (only prereqs remains)
+
+ distmeta is managed by CPAN::Meta, which expects v2 spec data by
+ default
+
+ most Dist::Zilla::Types are gone, now in MooseX::Types::Perl
+
+ OTHER CHANGES:
+
+ META.json and META.yml are now produced by CPAN::Meta
+
+ Dist::Zilla::Prereqs now proxies for CPAN::Meta::Prereqs
+
+ MetaResources supports CPAN Meta Spec version 2, but still works
+ with old-style resources as well (Dave Rolsky)
+
+ quote filenames with spaces in MANIFEST (Dave Rolsky)
+
+ Manifest plugin is now a FileGatherer, not an InstallTool
+
+ attempted a fix for `dzil install` on Win32 (RT #57404)
+
2.101310 2010-05-11 09:02:45 America/New_York
update_filename arg added to NextRelease
`dzil new` can now be given a module name instead of dist name
@@ -135,6 +135,8 @@ t/plugins/generatefile.t
t/plugins/installdirs.t
t/plugins/license.t
t/plugins/makemaker.t
+t/plugins/manifest.t
+t/plugins/metaresources.t
t/plugins/misctests.t
t/plugins/modulebuild.t
t/plugins/nextrelease.t
@@ -156,4 +158,4 @@ todo/prereq-command.mkdn
todo/register-on-fly.mkdn
todo/test-upstream.mkdn
todo/version-from-prev.mkdn
-todo/xs-improvement.mkdn
\ No newline at end of file
+todo/xs-improvement.mkdn
@@ -3,18 +3,12 @@
"author" : [
"Ricardo SIGNES <rjbs@cpan.org>"
],
- "build_requires" : {
- "Test::More" : "0.90",
- "Try::Tiny" : "0"
- },
- "configure_requires" : {
- "ExtUtils::MakeMaker" : "6.31"
- },
- "generated_by" : "Dist::Zilla version 2.101310",
- "license" : "perl",
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 3.101461",
+ "license" : "perl_5",
"meta-spec" : {
- "url" : "http://module-build.sourceforge.net/META-spec-v1.4.html",
- "version" : 1.4
+ "url" : "http://github.com/dagolden/cpan-meta/",
+ "version" : 2
},
"name" : "Dist-Zilla",
"no_index" : {
@@ -22,185 +16,205 @@
"corpus"
]
},
- "recommends" : {},
- "requires" : {
- "App::Cmd::Setup" : "0.307",
- "App::Cmd::Tester" : "0.306",
- "Archive::Tar" : "0",
- "CPAN::Uploader" : "0.100660",
- "Carp" : "0",
- "Config::MVP" : "0.100780",
- "Config::MVP::Assembler" : "0",
- "Config::MVP::Assembler::WithBundles" : "0",
- "Config::MVP::Reader" : "0",
- "Config::MVP::Reader::Findable" : "0",
- "Config::MVP::Reader::Finder" : "0",
- "Config::MVP::Reader::INI" : "0",
- "Data::Dumper" : "0",
- "Data::Section" : "0.004",
- "DateTime" : "0.44",
- "ExtUtils::MakeMaker" : "0",
- "ExtUtils::Manifest" : "1.54",
- "File::Copy::Recursive" : "0",
- "File::Find::Rule" : "0",
- "File::HomeDir" : "0",
- "File::Path" : "0",
- "File::ShareDir::Install" : "0.03",
- "File::Spec" : "0",
- "File::Temp" : "0",
- "File::pushd" : "0",
- "Hash::Merge::Simple" : "0",
- "JSON" : "2",
- "List::MoreUtils" : "0",
- "List::Util" : "0",
- "Log::Dispatchouli" : "1.100712",
- "Moose" : "0.92",
- "Moose::Autobox" : "0.09",
- "Moose::Role" : "0",
- "Moose::Util::TypeConstraints" : "0",
- "MooseX::Role::Parameterized" : "0",
- "MooseX::Types" : "0",
- "MooseX::Types::Moose" : "0",
- "MooseX::Types::Path::Class" : "0",
- "PPI" : "0",
- "Params::Util" : "0",
- "Path::Class" : "0",
- "Perl::PrereqScanner" : "0.100830",
- "Perl::Version" : "0",
- "Pod::Eventual" : "0.091480",
- "Scalar::Util" : "0",
- "Software::License" : "0",
- "Software::LicenseUtils" : "0",
- "String::Formatter" : "0.100680",
- "String::RewritePrefix" : "0.005",
- "Sub::Exporter" : "0",
- "Sub::Exporter::Util" : "0",
- "Text::Template" : "0",
- "Version::Requirements" : "0.100630",
- "YAML::Tiny" : "0",
- "autobox" : "2.53",
- "autodie" : "0",
- "namespace::autoclean" : "0",
- "perl" : "v5.8.5",
- "version" : "0.82"
+ "prereqs" : {
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.31"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "App::Cmd::Setup" : "0.307",
+ "App::Cmd::Tester" : "0.306",
+ "Archive::Tar" : "0",
+ "CPAN::Meta::Converter" : "2.101460",
+ "CPAN::Meta::Prereqs" : "2.101390",
+ "CPAN::Uploader" : "0.100660",
+ "Carp" : "0",
+ "Config" : "0",
+ "Config::MVP" : "2",
+ "Config::MVP::Assembler" : "0",
+ "Config::MVP::Assembler::WithBundles" : "0",
+ "Config::MVP::Reader" : "2",
+ "Config::MVP::Reader::Findable::ByExtension" : "0",
+ "Config::MVP::Reader::Finder" : "0",
+ "Config::MVP::Reader::INI" : "2",
+ "Data::Dumper" : "0",
+ "Data::Section" : "0.004",
+ "DateTime" : "0.44",
+ "ExtUtils::MakeMaker" : "0",
+ "ExtUtils::Manifest" : "1.54",
+ "File::Copy::Recursive" : "0",
+ "File::Find::Rule" : "0",
+ "File::HomeDir" : "0",
+ "File::Path" : "0",
+ "File::ShareDir::Install" : "0.03",
+ "File::Spec" : "0",
+ "File::Temp" : "0",
+ "File::pushd" : "0",
+ "Hash::Merge::Simple" : "0",
+ "JSON" : "2",
+ "List::MoreUtils" : "0",
+ "List::Util" : "0",
+ "Log::Dispatchouli" : "1.100712",
+ "Moose" : "0.92",
+ "Moose::Autobox" : "0.09",
+ "Moose::Role" : "0",
+ "Moose::Util::TypeConstraints" : "0",
+ "MooseX::Role::Parameterized" : "0",
+ "MooseX::Types" : "0",
+ "MooseX::Types::Moose" : "0",
+ "MooseX::Types::Path::Class" : "0",
+ "MooseX::Types::Perl" : "0",
+ "PPI" : "0",
+ "Params::Util" : "0",
+ "Path::Class" : "0",
+ "Perl::PrereqScanner" : "0.100830",
+ "Perl::Version" : "0",
+ "Pod::Eventual" : "0.091480",
+ "Scalar::Util" : "0",
+ "Software::License" : "0.101370",
+ "Software::LicenseUtils" : "0",
+ "String::Formatter" : "0.100680",
+ "String::RewritePrefix" : "0.005",
+ "Sub::Exporter" : "0",
+ "Sub::Exporter::Util" : "0",
+ "Text::Template" : "0",
+ "Version::Requirements" : "0.100630",
+ "YAML::Tiny" : "0",
+ "autobox" : "2.53",
+ "autodie" : "0",
+ "namespace::autoclean" : "0",
+ "perl" : "v5.8.5",
+ "version" : "0"
+ }
+ },
+ "test" : {
+ "requires" : {
+ "Test::More" : "0.90",
+ "Try::Tiny" : "0"
+ }
+ }
},
"resources" : {
"MailingList" : "http://www.listbox.com/subscribe/?list_id=139292",
"homepage" : "http://dzil.org/",
- "repository" : "http://github.com/rjbs/dist-zilla"
+ "repository" : {
+ "url" : "http://github.com/rjbs/dist-zilla"
+ }
},
- "version" : "2.101310",
+ "version" : "3.101461",
"x_Dist_Zilla" : {
"plugins" : [
{
"class" : "Dist::Zilla::Plugin::GatherDir",
"name" : "@RJBS/@Basic/GatherDir",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@RJBS/@Basic/PruneCruft",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::ManifestSkip",
"name" : "@RJBS/@Basic/ManifestSkip",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@RJBS/@Basic/MetaYAML",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@RJBS/@Basic/License",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
"name" : "@RJBS/@Basic/Readme",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::ExtraTests",
"name" : "@RJBS/@Basic/ExtraTests",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@RJBS/@Basic/ExecDir",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::ShareDir",
"name" : "@RJBS/@Basic/ShareDir",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::MakeMaker",
"name" : "@RJBS/@Basic/MakeMaker",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@RJBS/@Basic/Manifest",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@RJBS/@Basic/TestRelease",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@RJBS/@Basic/ConfirmRelease",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@RJBS/@Basic/UploadToCPAN",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereq",
"name" : "@RJBS/AutoPrereq",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::AutoVersion",
"name" : "@RJBS/AutoVersion",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::PkgVersion",
"name" : "@RJBS/PkgVersion",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@RJBS/MetaConfig",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@RJBS/MetaJSON",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::NextRelease",
"name" : "@RJBS/NextRelease",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@RJBS/PodSyntaxTests",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::Repository",
"name" : "@RJBS/Repository",
- "version" : "0.12"
+ "version" : "0.13"
},
{
"class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -210,22 +224,22 @@
{
"class" : "Dist::Zilla::Plugin::Git::Check",
"name" : "@RJBS/@Git/Check",
- "version" : "1.101270"
+ "version" : "1.101330"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
"name" : "@RJBS/@Git/Commit",
- "version" : "1.101270"
+ "version" : "1.101330"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
"name" : "@RJBS/@Git/Tag",
- "version" : "1.101270"
+ "version" : "1.101330"
},
{
"class" : "Dist::Zilla::Plugin::Git::Push",
"name" : "@RJBS/@Git/Push",
- "version" : "1.101270"
+ "version" : "1.101330"
},
{
"class" : "Dist::Zilla::Plugin::MetaNoIndex",
@@ -235,18 +249,18 @@
{
"class" : "Dist::Zilla::Plugin::MetaResources",
"name" : "MetaResources",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::Prereq",
"config" : {
"Dist::Zilla::Plugin::Prereq" : {
- "phase" : "build",
+ "phase" : "test",
"type" : "requires"
}
},
"name" : "TestRequires",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::Prereq",
@@ -257,32 +271,32 @@
}
},
"name" : "Prereq",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "inc::Dist::Zilla::Plugin::VersionBootstrap",
"name" : "VersionBootstrap",
- "version" : "2.101310"
+ "version" : "3.101461"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "2.101310"
+ "version" : "3.101460"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "2.101310"
+ "version" : "3.101460"
}
],
"zilla" : {
@@ -290,7 +304,7 @@
"config" : {
"is_trial" : 0
},
- "version" : "2.101310"
+ "version" : "3.101461"
}
}
}
@@ -7,7 +7,8 @@ build_requires:
Try::Tiny: 0
configure_requires:
ExtUtils::MakeMaker: 6.31
-generated_by: 'Dist::Zilla version 2.101310'
+dynamic_config: 0
+generated_by: 'Dist::Zilla version 3.101461, CPAN::Meta::Converter version 2.101460'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -16,20 +17,22 @@ name: Dist-Zilla
no_index:
directory:
- corpus
-recommends: {}
requires:
App::Cmd::Setup: 0.307
App::Cmd::Tester: 0.306
Archive::Tar: 0
+ CPAN::Meta::Converter: 2.101460
+ CPAN::Meta::Prereqs: 2.101390
CPAN::Uploader: 0.100660
Carp: 0
- Config::MVP: 0.100780
+ Config: 0
+ Config::MVP: 2
Config::MVP::Assembler: 0
Config::MVP::Assembler::WithBundles: 0
- Config::MVP::Reader: 0
- Config::MVP::Reader::Findable: 0
+ Config::MVP::Reader: 2
+ Config::MVP::Reader::Findable::ByExtension: 0
Config::MVP::Reader::Finder: 0
- Config::MVP::Reader::INI: 0
+ Config::MVP::Reader::INI: 2
Data::Dumper: 0
Data::Section: 0.004
DateTime: 0.44
@@ -56,6 +59,7 @@ requires:
MooseX::Types: 0
MooseX::Types::Moose: 0
MooseX::Types::Path::Class: 0
+ MooseX::Types::Perl: 0
PPI: 0
Params::Util: 0
Path::Class: 0
@@ -63,7 +67,7 @@ requires:
Perl::Version: 0
Pod::Eventual: 0.091480
Scalar::Util: 0
- Software::License: 0
+ Software::License: 0.101370
Software::LicenseUtils: 0
String::Formatter: 0.100680
String::RewritePrefix: 0.005
@@ -76,102 +80,102 @@ requires:
autodie: 0
namespace::autoclean: 0
perl: v5.8.5
- version: 0.82
+ version: 0
resources:
MailingList: http://www.listbox.com/subscribe/?list_id=139292
homepage: http://dzil.org/
repository: http://github.com/rjbs/dist-zilla
-version: 2.101310
+version: 3.101461
x_Dist_Zilla:
plugins:
-
class: Dist::Zilla::Plugin::GatherDir
name: '@RJBS/@Basic/GatherDir'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::PruneCruft
name: '@RJBS/@Basic/PruneCruft'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::ManifestSkip
name: '@RJBS/@Basic/ManifestSkip'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@RJBS/@Basic/MetaYAML'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::License
name: '@RJBS/@Basic/License'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::Readme
name: '@RJBS/@Basic/Readme'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::ExtraTests
name: '@RJBS/@Basic/ExtraTests'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::ExecDir
name: '@RJBS/@Basic/ExecDir'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::ShareDir
name: '@RJBS/@Basic/ShareDir'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::MakeMaker
name: '@RJBS/@Basic/MakeMaker'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::Manifest
name: '@RJBS/@Basic/Manifest'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::TestRelease
name: '@RJBS/@Basic/TestRelease'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@RJBS/@Basic/ConfirmRelease'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@RJBS/@Basic/UploadToCPAN'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::AutoPrereq
name: '@RJBS/AutoPrereq'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::AutoVersion
name: '@RJBS/AutoVersion'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::PkgVersion
name: '@RJBS/PkgVersion'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@RJBS/MetaConfig'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::MetaJSON
name: '@RJBS/MetaJSON'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::NextRelease
name: '@RJBS/NextRelease'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@RJBS/PodSyntaxTests'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::Repository
name: '@RJBS/Repository'
- version: 0.12
+ version: 0.13
-
class: Dist::Zilla::Plugin::PodWeaver
name: '@RJBS/PodWeaver'
@@ -179,19 +183,19 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::Git::Check
name: '@RJBS/@Git/Check'
- version: 1.101270
+ version: 1.101330
-
class: Dist::Zilla::Plugin::Git::Commit
name: '@RJBS/@Git/Commit'
- version: 1.101270
+ version: 1.101330
-
class: Dist::Zilla::Plugin::Git::Tag
name: '@RJBS/@Git/Tag'
- version: 1.101270
+ version: 1.101330
-
class: Dist::Zilla::Plugin::Git::Push
name: '@RJBS/@Git/Push'
- version: 1.101270
+ version: 1.101330
-
class: Dist::Zilla::Plugin::MetaNoIndex
name: MetaNoIndex
@@ -199,15 +203,15 @@ x_Dist_Zilla:
-
class: Dist::Zilla::Plugin::MetaResources
name: MetaResources
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::Prereq
config:
Dist::Zilla::Plugin::Prereq:
- phase: build
+ phase: test
type: requires
name: TestRequires
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::Prereq
config:
@@ -215,29 +219,29 @@ x_Dist_Zilla:
phase: runtime
type: requires
name: Prereq
- version: 2.101310
+ version: 3.101460
-
class: inc::Dist::Zilla::Plugin::VersionBootstrap
name: VersionBootstrap
- version: 2.101310
+ version: 3.101461
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
- version: 2.101310
+ version: 3.101460
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
- version: 2.101310
+ version: 3.101460
zilla:
class: Dist::Zilla
config:
is_trial: 0
- version: 2.101310
+ version: 3.101461
@@ -28,15 +28,18 @@ my %WriteMakefileArgs = (
'App::Cmd::Setup' => '0.307',
'App::Cmd::Tester' => '0.306',
'Archive::Tar' => '0',
+ 'CPAN::Meta::Converter' => '2.101460',
+ 'CPAN::Meta::Prereqs' => '2.101390',
'CPAN::Uploader' => '0.100660',
'Carp' => '0',
- 'Config::MVP' => '0.100780',
+ 'Config' => '0',
+ 'Config::MVP' => '2',
'Config::MVP::Assembler' => '0',
'Config::MVP::Assembler::WithBundles' => '0',
- 'Config::MVP::Reader' => '0',
- 'Config::MVP::Reader::Findable' => '0',
+ 'Config::MVP::Reader' => '2',
+ 'Config::MVP::Reader::Findable::ByExtension' => '0',
'Config::MVP::Reader::Finder' => '0',
- 'Config::MVP::Reader::INI' => '0',
+ 'Config::MVP::Reader::INI' => '2',
'Data::Dumper' => '0',
'Data::Section' => '0.004',
'DateTime' => '0.44',
@@ -63,6 +66,7 @@ my %WriteMakefileArgs = (
'MooseX::Types' => '0',
'MooseX::Types::Moose' => '0',
'MooseX::Types::Path::Class' => '0',
+ 'MooseX::Types::Perl' => '0',
'PPI' => '0',
'Params::Util' => '0',
'Path::Class' => '0',
@@ -70,7 +74,7 @@ my %WriteMakefileArgs = (
'Perl::Version' => '0',
'Pod::Eventual' => '0.091480',
'Scalar::Util' => '0',
- 'Software::License' => '0',
+ 'Software::License' => '0.101370',
'Software::LicenseUtils' => '0',
'String::Formatter' => '0.100680',
'String::RewritePrefix' => '0.005',
@@ -82,9 +86,9 @@ my %WriteMakefileArgs = (
'autobox' => '2.53',
'autodie' => '0',
'namespace::autoclean' => '0',
- 'version' => '0.82'
+ 'version' => '0'
},
- 'VERSION' => '2.101310',
+ 'VERSION' => '3.101461',
'test' => {
'TESTS' => 't/*.t t/plugins/*.t'
}
@@ -1,7 +1,7 @@
This archive contains the distribution Dist-Zilla,
-version 2.101310:
+version 3.101461:
distribution builder; installer not included!
@@ -10,3 +10,4 @@ copyright_year = 2009
[AutoPrereq]
skip = ^DZPA::Skip
[MetaYAML]
+version = 2
@@ -4,7 +4,7 @@ license = Perl_5
copyright_holder = Ricardo SIGNES
[@RJBS]
-version = 2
+version = 3
[MetaNoIndex]
dir = corpus
@@ -21,8 +21,8 @@ Test::More = 0.90
perl = v5.8.5 ; how tempted am I to set this to v5.10? very!
autobox = 2.53 ; @array->method support, portability
-Config::MVP::Reader::INI = 0 ; ensure there's a basic, sane config format
-File::ShareDir::Install = 0.03 ; for EUMM
+Config::MVP::Reader::INI = 2 ; ensure there's a basic config format
+File::ShareDir::Install = 0.03 ; for EUMM
; We need this to bootstrap a version into Dist::Zilla while running, so that
; it can inject its version number into "generated by" strings. -- rjbs
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::App::Command::build;
BEGIN {
- $Dist::Zilla::App::Command::build::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::build::VERSION = '3.101461';
}
# ABSTRACT: build your dist
use Dist::Zilla::App -command;
@@ -37,7 +37,7 @@ Dist::Zilla::App::Command::build - build your dist
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::App::Command::clean;
BEGIN {
- $Dist::Zilla::App::Command::clean::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::clean::VERSION = '3.101461';
}
# ABSTRACT: clean up after build, test, or install
use Dist::Zilla::App -command;
@@ -29,7 +29,7 @@ Dist::Zilla::App::Command::clean - clean up after build, test, or install
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::App::Command::install;
BEGIN {
- $Dist::Zilla::App::Command::install::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::install::VERSION = '3.101461';
}
# ABSTRACT: install your dist
use Dist::Zilla::App -command;
@@ -34,7 +34,7 @@ Dist::Zilla::App::Command::install - install your dist
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::App::Command::listdeps;
BEGIN {
- $Dist::Zilla::App::Command::listdeps::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::listdeps::VERSION = '3.101461';
}
use Dist::Zilla::App -command;
# ABSTRACT: print your distribution's prerequisites
@@ -28,11 +28,10 @@ sub execute {
$_->register_prereqs for $self->zilla->plugins_with(-PrereqSource)->flatten;
my $req = Version::Requirements->new;
- my $prereq = $self->zilla->prereq->as_distmeta;
+ my $prereqs = $self->zilla->prereqs;
- for my $type (qw(requires build_requires configure_requires)) {
- $req->add_minimum($_ => $prereq->{ $type }{$_})
- for keys %{ $prereq->{$type} };
+ for my $phase (qw(build test configure runtime)) {
+ $req->add_requirements( $prereqs->requirements_for($phase, 'requires') );
}
print "$_\n" for sort { lc $a cmp lc $b }
@@ -52,7 +51,7 @@ Dist::Zilla::App::Command::listdeps - print your distribution's prerequisites
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -2,18 +2,20 @@ use strict;
use warnings;
package Dist::Zilla::App::Command::new;
BEGIN {
- $Dist::Zilla::App::Command::new::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::new::VERSION = '3.101461';
}
# ABSTRACT: start a new dist
use Dist::Zilla::App -command;
-use Dist::Zilla::Types qw(DistName ModuleName);
+use MooseX::Types::Perl qw(DistName ModuleName);
use Moose::Autobox;
use Path::Class;
sub abstract { 'start a new dist' }
+sub usage_desc { '%c %o <DistName>' }
+
sub validate_args {
my ($self, $opt, $args) = @_;
@@ -63,7 +65,7 @@ Dist::Zilla::App::Command::new - start a new dist
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::App::Command::nop;
BEGIN {
- $Dist::Zilla::App::Command::nop::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::nop::VERSION = '3.101461';
}
# ABSTRACT: initialize dzil, then exit
use Dist::Zilla::App -command;
@@ -30,7 +30,7 @@ Dist::Zilla::App::Command::nop - initialize dzil, then exit
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::App::Command::release;
BEGIN {
- $Dist::Zilla::App::Command::release::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::release::VERSION = '3.101461';
}
# ABSTRACT: release your dist to the CPAN
use Dist::Zilla::App -command;
@@ -35,7 +35,7 @@ Dist::Zilla::App::Command::release - release your dist to the CPAN
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -3,7 +3,7 @@ use warnings;
package Dist::Zilla::App::Command::run;
BEGIN {
- $Dist::Zilla::App::Command::run::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::run::VERSION = '3.101461';
}
# ABSTRACT: run stuff in a dir where your dist is built
@@ -29,7 +29,7 @@ Dist::Zilla::App::Command::run - run stuff in a dir where your dist is built
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::App::Command::smoke;
BEGIN {
- $Dist::Zilla::App::Command::smoke::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::smoke::VERSION = '3.101461';
}
# ABSTRACT: smoke your dist
use Dist::Zilla::App -command;
@@ -31,7 +31,7 @@ Dist::Zilla::App::Command::smoke - smoke your dist
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::App::Command::test;
BEGIN {
- $Dist::Zilla::App::Command::test::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::test::VERSION = '3.101461';
}
# ABSTRACT: test your dist
use Dist::Zilla::App -command;
@@ -29,7 +29,7 @@ Dist::Zilla::App::Command::test - test your dist
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::App::Command;
BEGIN {
- $Dist::Zilla::App::Command::VERSION = '2.101310';
+ $Dist::Zilla::App::Command::VERSION = '3.101461';
}
# ABSTRACT: base class for dzil commands
use App::Cmd::Setup -command;
@@ -35,7 +35,7 @@ Dist::Zilla::App::Command - base class for dzil commands
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 METHODS
@@ -1,6 +1,6 @@
package Dist::Zilla::App::Tester;
BEGIN {
- $Dist::Zilla::App::Tester::VERSION = '2.101310';
+ $Dist::Zilla::App::Tester::VERSION = '3.101461';
}
use base 'App::Cmd::Tester';
use App::Cmd::Tester 0.306 (); # result_class, ->app
@@ -45,7 +45,7 @@ sub test_dzil {
{
package Dist::Zilla::App::Tester::Result;
BEGIN {
- $Dist::Zilla::App::Tester::Result::VERSION = '2.101310';
+ $Dist::Zilla::App::Tester::Result::VERSION = '3.101461';
}
BEGIN { our @ISA = qw(App::Cmd::Tester::Result); }
@@ -92,7 +92,7 @@ Dist::Zilla::App::Tester - testing library for Dist::Zilla::App
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::App;
BEGIN {
- $Dist::Zilla::App::VERSION = '2.101310';
+ $Dist::Zilla::App::VERSION = '3.101461';
}
# ABSTRACT: Dist::Zilla's App::Cmd
use App::Cmd::Setup 0.307 -app; # need ->app in Result of Tester, GLD vers
@@ -89,7 +89,7 @@ Dist::Zilla::App - Dist::Zilla's App::Cmd
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 METHODS
@@ -1,6 +1,6 @@
package Dist::Zilla::Chrome::Term;
BEGIN {
- $Dist::Zilla::Chrome::Term::VERSION = '2.101310';
+ $Dist::Zilla::Chrome::Term::VERSION = '3.101461';
}
use Moose;
# ABSTRACT: chrome used for terminal-based interaction
@@ -35,7 +35,7 @@ Dist::Zilla::Chrome::Term - chrome used for terminal-based interaction
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Chrome::Test;
BEGIN {
- $Dist::Zilla::Chrome::Test::VERSION = '2.101310';
+ $Dist::Zilla::Chrome::Test::VERSION = '3.101461';
}
use Moose;
# ABSTRACT: the chrome used by Dist::Zilla::Tester
@@ -30,7 +30,7 @@ Dist::Zilla::Chrome::Test - the chrome used by Dist::Zilla::Tester
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,8 +1,9 @@
package Dist::Zilla::Config::Finder;
BEGIN {
- $Dist::Zilla::Config::Finder::VERSION = '2.101310';
+ $Dist::Zilla::Config::Finder::VERSION = '3.101461';
}
use Moose;
+use Config::MVP::Reader 2;
extends 'Config::MVP::Reader::Finder';
with 'Dist::Zilla::Config';
# ABSTRACT: the reader for dist.ini files
@@ -26,7 +27,7 @@ Dist::Zilla::Config::Finder - the reader for dist.ini files
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,22 +1,20 @@
package Dist::Zilla::Config::Perl;
BEGIN {
- $Dist::Zilla::Config::Perl::VERSION = '2.101310';
+ $Dist::Zilla::Config::Perl::VERSION = '3.101461';
}
use Moose;
-with qw(Config::MVP::Reader::Findable);
+extends 'Config::MVP::Reader';
+with qw(Config::MVP::Reader::Findable::ByExtension);
with qw(Dist::Zilla::Config);
# ABSTRACT: the reader for dist.pl files
sub default_extension { 'pl' }
-sub read_config {
- my ($self, $arg) = @_;
- my $config_file = $self->filename_from_args($arg);
+sub read_into_assembler {
+ my ($self, $location, $asm) = @_;
- my $asm = $self->assembler;
-
- my @input = do $config_file;
+ my @input = do $location;
while (@input and ! ref $input[0]) {
my ($key, $value) = (shift(@input), shift(@input));
$asm->add_value($key => $value);
@@ -59,7 +57,7 @@ Dist::Zilla::Config::Perl - the reader for dist.pl files
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,13 +1,11 @@
package Dist::Zilla::Config;
BEGIN {
- $Dist::Zilla::Config::VERSION = '2.101310';
+ $Dist::Zilla::Config::VERSION = '3.101461';
}
use Moose::Role;
# ABSTRACT: stored configuration loader role
-use Config::MVP 0.100780; # fix mvp_* method laziness
-
-with q(Config::MVP::Reader) => { -excludes => 'build_assembler' };
+use Config::MVP 2; # finalization and what not
use Dist::Zilla::Util::MVPAssembler;
@@ -38,7 +36,7 @@ Dist::Zilla::Config - stored configuration loader role
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::File::FromCode;
BEGIN {
- $Dist::Zilla::File::FromCode::VERSION = '2.101310';
+ $Dist::Zilla::File::FromCode::VERSION = '3.101461';
}
# ABSTRACT: a file whose content is (re-)built on demand
use Moose;
@@ -35,7 +35,7 @@ Dist::Zilla::File::FromCode - a file whose content is (re-)built on demand
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::File::InMemory;
BEGIN {
- $Dist::Zilla::File::InMemory::VERSION = '2.101310';
+ $Dist::Zilla::File::InMemory::VERSION = '3.101461';
}
# ABSTRACT: a file that you build entirely in memory
use Moose;
@@ -26,7 +26,7 @@ Dist::Zilla::File::InMemory - a file that you build entirely in memory
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::File::OnDisk;
BEGIN {
- $Dist::Zilla::File::OnDisk::VERSION = '2.101310';
+ $Dist::Zilla::File::OnDisk::VERSION = '3.101461';
}
# ABSTRACT: a file that comes from your filesystem
use Moose;
@@ -47,7 +47,7 @@ Dist::Zilla::File::OnDisk - a file that comes from your filesystem
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::AutoPrereq;
BEGIN {
- $Dist::Zilla::Plugin::AutoPrereq::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::AutoPrereq::VERSION = '3.101461';
}
use Moose;
with(
@@ -106,7 +106,7 @@ Dist::Zilla::Plugin::AutoPrereq - automatically extract prereqs from your module
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::AutoVersion;
BEGIN {
- $Dist::Zilla::Plugin::AutoVersion::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::AutoVersion::VERSION = '3.101461';
}
# ABSTRACT: take care of numbering versions so you don't have to
use Moose;
@@ -68,7 +68,7 @@ Dist::Zilla::Plugin::AutoVersion - take care of numbering versions so you don't
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::BumpVersion;
BEGIN {
- $Dist::Zilla::Plugin::BumpVersion::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::BumpVersion::VERSION = '3.101461';
}
# ABSTRACT: bump the configured version number by one before building
use Moose;
@@ -40,7 +40,7 @@ Dist::Zilla::Plugin::BumpVersion - bump the configured version number by one bef
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::ConfirmRelease;
BEGIN {
- $Dist::Zilla::Plugin::ConfirmRelease::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::ConfirmRelease::VERSION = '3.101461';
}
# ABSTRACT: prompt for confirmation before releasing
@@ -40,7 +40,7 @@ Dist::Zilla::Plugin::ConfirmRelease - prompt for confirmation before releasing
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::DistINI;
BEGIN {
- $Dist::Zilla::Plugin::DistINI::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::DistINI::VERSION = '3.101461';
}
# ABSTRACT: a plugin to add a dist.ini to newly-minted dists
use Moose;
@@ -8,6 +8,7 @@ with qw(Dist::Zilla::Role::FileGatherer);
use Dist::Zilla::File::InMemory;
+
sub gather_files {
my ($self, $arg) = @_;
@@ -49,7 +50,17 @@ Dist::Zilla::Plugin::DistINI - a plugin to add a dist.ini to newly-minted dists
=head1 VERSION
-version 2.101310
+version 3.101461
+
+=head1 DESCRIPTION
+
+This plugins produces a F<dist.ini> file in a new dist, specifying the required
+core attributes from the dist being minted.
+
+This plugin is dead simple and pretty stupid, but should get better as dist
+minting facilities improve. For example, it will not specify any plugins.
+
+In the meantime, you may be happier with a F<dist.ini> template.
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::ExecDir;
BEGIN {
- $Dist::Zilla::Plugin::ExecDir::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::ExecDir::VERSION = '3.101461';
}
# ABSTRACT: install a directory's contents as executables
use Moose;
@@ -35,7 +35,7 @@ Dist::Zilla::Plugin::ExecDir - install a directory's contents as executables
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::ExtraTests;
BEGIN {
- $Dist::Zilla::Plugin::ExtraTests::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::ExtraTests::VERSION = '3.101461';
}
# ABSTRACT: rewrite ./xt tests to ./t tests with skips
use Moose;
@@ -67,7 +67,7 @@ Dist::Zilla::Plugin::ExtraTests - rewrite ./xt tests to ./t tests with skips
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::FakeRelease;
BEGIN {
- $Dist::Zilla::Plugin::FakeRelease::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::FakeRelease::VERSION = '3.101461';
}
# ABSTRACT: fake plugin to test release
@@ -41,7 +41,7 @@ Dist::Zilla::Plugin::FakeRelease - fake plugin to test release
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::FinderCode;
BEGIN {
- $Dist::Zilla::Plugin::FinderCode::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::FinderCode::VERSION = '3.101461';
}
use Moose;
with 'Dist::Zilla::Role::FileFinder';
@@ -54,7 +54,7 @@ Dist::Zilla::Plugin::FinderCode - a callback-based FileFinder plugin
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::GatherDir::Template;
BEGIN {
- $Dist::Zilla::Plugin::GatherDir::Template::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::GatherDir::Template::VERSION = '3.101461';
}
# ABSTRACT: gather all the files in a directory and use them as templates
use Moose;
@@ -51,7 +51,7 @@ Dist::Zilla::Plugin::GatherDir::Template - gather all the files in a directory a
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -60,6 +60,9 @@ It looks in the directory named in the L</root> attribute and adds all the
files it finds there. If the root begins with a tilde, the tilde is replaced
with the current user's home directory according to L<File::HomeDir>.
+It is meant to be used when minting dists with C<dzil new>, but could be used
+in building existing dists, too.
+
=head1 AUTHOR
Ricardo SIGNES <rjbs@cpan.org>
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::GatherDir;
BEGIN {
- $Dist::Zilla::Plugin::GatherDir::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::GatherDir::VERSION = '3.101461';
}
# ABSTRACT: gather all the files in a directory
use Moose;
@@ -16,6 +16,7 @@ use Path::Class;
use namespace::autoclean;
+
has root => (
is => 'ro',
isa => Dir,
@@ -25,12 +26,14 @@ has root => (
default => sub { shift->zilla->root },
);
+
has prefix => (
is => 'ro',
isa => 'Str',
default => '',
);
+
has include_dotfiles => (
is => 'ro',
isa => 'Bool',
@@ -88,14 +91,52 @@ Dist::Zilla::Plugin::GatherDir - gather all the files in a directory
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
-This is a very, very simple L<FileGatherer|Dist::Zilla::FileGatherer> plugin.
-It looks in the directory named in the L</root> attribute and adds all the
-files it finds there. If the root begins with a tilde, the tilde is replaced
-with the current user's home directory according to L<File::HomeDir>.
+This is a very, very simple L<FileGatherer|Dist::Zilla::Role::FileGatherer>
+plugin. It looks in the directory named in the L</root> attribute and adds all
+the files it finds there. If the root begins with a tilde, the tilde is
+replaced with the current user's home directory according to L<File::HomeDir>.
+
+Almost every dist will be built with one GatherDir plugin, since it's the
+easiest way to get files from disk into your dist. Most users just need:
+
+ [GatherDir]
+
+...and this will pick up all the files from the current directory into the
+dist. You can use it multiple times, as you can any other plugin, by providing
+a plugin name. For example, if you want to include external specification
+files into a subdir of your dist, you might write:
+
+ [GatherDir]
+ ; this plugin needs no config and gathers most of your files
+
+ [GatherDir / SpecFiles]
+ ; this plugin gets all the files in the root dir and adds them under ./spec
+ root = ~/projects/my-project/spec
+ prefix = spec
+
+=head1 ATTRIBUTES
+
+=head2 root
+
+This is the directory in which to look for files. If not given, it defaults to
+the dist root -- generally, the place where your F<dist.ini> or other
+configuration file is located.
+
+=head2 prefix
+
+This parameter can be set to gather all the files found under a common
+directory. See the L<description|DESCRIPTION> above for an example.
+
+=head2 include_dotfiles
+
+By default, files will not be included if they begin with a dot. This goes
+both for files and for directories relative to the C<root>.
+
+In almost all cases, the default value (false) is correct.
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::GenerateFile;
BEGIN {
- $Dist::Zilla::Plugin::GenerateFile::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::GenerateFile::VERSION = '3.101461';
}
# ABSTRACT: build a custom file from only the plugin configuration
use Moose;
@@ -37,7 +37,7 @@ sub gather_files {
my ($self, $arg) = @_;
my $content = join "\n", $self->content->flatten;
- $content .= q{\\};
+ $content .= qq{\n};
if ($self->is_template) {
$content = $self->fill_in_string(
@@ -71,7 +71,7 @@ Dist::Zilla::Plugin::GenerateFile - build a custom file from only the plugin con
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::InlineFiles;
BEGIN {
- $Dist::Zilla::Plugin::InlineFiles::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::InlineFiles::VERSION = '3.101461';
}
# ABSTRACT: files in a data section
use Moose;
@@ -42,7 +42,7 @@ Dist::Zilla::Plugin::InlineFiles - files in a data section
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::License;
BEGIN {
- $Dist::Zilla::Plugin::License::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::License::VERSION = '3.101461';
}
# ABSTRACT: output a LICENSE file
use Moose;
@@ -34,7 +34,7 @@ Dist::Zilla::Plugin::License - output a LICENSE file
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::MakeMaker;
BEGIN {
- $Dist::Zilla::Plugin::MakeMaker::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::MakeMaker::VERSION = '3.101461';
}
# ABSTRACT: build a Makefile.PL that uses ExtUtils::MakeMaker
@@ -13,6 +13,8 @@ with 'Dist::Zilla::Role::TestRunner';
with 'Dist::Zilla::Role::TextTemplate';
+use Config;
+
use Data::Dumper ();
use List::MoreUtils qw(any uniq);
@@ -99,8 +101,22 @@ sub setup_installer {
);
}
- my $meta_prereq = $self->zilla->prereq->as_distmeta;
- my $perl_prereq = delete $meta_prereq->{requires}{perl};
+ my $prereqs = $self->zilla->prereqs;
+ my $perl_prereq = $prereqs->requirements_for(qw(runtime requires))
+ ->as_string_hash->{perl};
+
+ my $prereqs_dump = sub {
+ $prereqs->requirements_for(@_)
+ ->clone
+ ->clear_requirement('perl')
+ ->as_string_hash;
+ };
+
+ my $build_prereq
+ = $prereqs->requirements_for(qw(build requires))
+ ->clone
+ ->add_requirements($prereqs->requirements_for(qw(test requires)))
+ ->as_string_hash;
my %write_makefile_args = (
DISTNAME => $self->zilla->name,
@@ -111,9 +127,9 @@ sub setup_installer {
LICENSE => $self->zilla->license->meta_yml_name,
EXE_FILES => [ @exe_files ],
- CONFIGURE_REQUIRES => delete $meta_prereq->{configure_requires},
- BUILD_REQUIRES => delete $meta_prereq->{build_requires},
- PREREQ_PM => delete $meta_prereq->{requires},
+ CONFIGURE_REQUIRES => $prereqs_dump->(qw(configure requires)),
+ BUILD_REQUIRES => $build_prereq,
+ PREREQ_PM => $prereqs_dump->(qw(runtime requires)),
test => { TESTS => join q{ }, sort keys %test_dirs },
);
@@ -152,11 +168,18 @@ has __write_makefile_args => (
isa => 'HashRef',
);
+has 'make_path' => (
+ isa => 'Str',
+ is => 'ro',
+ default => $Config{make} || 'make',
+);
+
sub build {
my $self = shift;
+ my $make = $self->make_path;
system($^X => 'Makefile.PL') and die "error with Makefile.PL\n";
- system('make') and die "error running make\n";
+ system($make) and die "error running $make\n";
return;
}
@@ -164,8 +187,9 @@ sub build {
sub test {
my ( $self, $target ) = @_;
+ my $make = $self->make_path;
$self->build;
- system('make test') and die "error running make test\n";
+ system($make, 'test') and die "error running $make test\n";
return;
}
@@ -189,7 +213,7 @@ Dist::Zilla::Plugin::MakeMaker - build a Makefile.PL that uses ExtUtils::MakeMak
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,22 +1,35 @@
package Dist::Zilla::Plugin::Manifest;
BEGIN {
- $Dist::Zilla::Plugin::Manifest::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::Manifest::VERSION = '3.101461';
}
# ABSTRACT: build a MANIFEST file
use Moose;
use Moose::Autobox;
-with 'Dist::Zilla::Role::InstallTool';
+with 'Dist::Zilla::Role::FileGatherer';
-use Dist::Zilla::File::InMemory;
+use Dist::Zilla::File::FromCode;
-sub setup_installer {
+sub __fix_filename {
+ my ($name) = @_;
+ return $name unless $name =~ /[ '\\]/;
+ $name =~ s/\\/\\\\/g;
+ $name =~ s/'/\\'/g;
+ return qq{'$name'};
+}
+
+sub gather_files {
my ($self, $arg) = @_;
- my $file = Dist::Zilla::File::InMemory->new({
- name => 'MANIFEST',
- content => $self->zilla->files->map(sub{$_->name})->push('MANIFEST')
- ->sort->join("\n"),
+ my $zilla = $self->zilla;
+
+ my $file = Dist::Zilla::File::FromCode->new({
+ name => 'MANIFEST',
+ code => sub {
+ $zilla->files->map(sub { $_->name })
+ ->sort->map( sub { __fix_filename($_) } )->join("\n")
+ . "\n",
+ },
});
$self->add_file($file);
@@ -35,7 +48,7 @@ Dist::Zilla::Plugin::Manifest - build a MANIFEST file
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::ManifestSkip;
BEGIN {
- $Dist::Zilla::Plugin::ManifestSkip::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::ManifestSkip::VERSION = '3.101461';
}
# ABSTRACT: decline to build files that appear in a MANIFEST.SKIP-like file
use Moose;
@@ -39,7 +39,7 @@ Dist::Zilla::Plugin::ManifestSkip - decline to build files that appear in a MANI
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::MetaConfig;
BEGIN {
- $Dist::Zilla::Plugin::MetaConfig::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::MetaConfig::VERSION = '3.101461';
}
# ABSTRACT: summarize Dist::Zilla configuration into distmeta
use Moose;
@@ -48,7 +48,7 @@ Dist::Zilla::Plugin::MetaConfig - summarize Dist::Zilla configuration into distm
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,25 +1,44 @@
package Dist::Zilla::Plugin::MetaJSON;
BEGIN {
- $Dist::Zilla::Plugin::MetaJSON::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::MetaJSON::VERSION = '3.101461';
}
# ABSTRACT: produce a META.json
use Moose;
use Moose::Autobox;
with 'Dist::Zilla::Role::FileGatherer';
+use CPAN::Meta::Converter 2.101460; # lax url schema validation
use Dist::Zilla::File::FromCode;
use Hash::Merge::Simple ();
use JSON 2;
+has filename => (
+ is => 'ro',
+ isa => 'Str',
+ default => 'META.json',
+);
+
+
+has version => (
+ is => 'ro',
+ isa => 'Num',
+ default => '2',
+);
+
sub gather_files {
my ($self, $arg) = @_;
my $zilla = $self->zilla;
+
my $file = Dist::Zilla::File::FromCode->new({
- name => 'META.json',
+ name => $self->filename,
code => sub {
- JSON->new->ascii(1)->canonical(1)->pretty->encode($zilla->distmeta)
+ my $distmeta = $zilla->distmeta;
+ my $converter = CPAN::Meta::Converter->new($distmeta);
+ my $output = $converter->convert(version => $self->version);
+
+ JSON->new->ascii(1)->canonical(1)->pretty->encode($output)
. "\n";
},
});
@@ -41,15 +60,29 @@ Dist::Zilla::Plugin::MetaJSON - produce a META.json
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
This plugin will add a F<META.json> file to the distribution.
This file is meant to replace the old-style F<META.yml>. For more information
-on this file, see L<Module::Build::API> and
-L<http://module-build.sourceforge.net/META-spec-v1.3.html>.
+on this file, see L<Module::Build::API> and L<CPAN::Meta>.
+
+=head1 ATTRIBUTES
+
+=head2 filename
+
+If given, parameter allows you to specify an alternate name for the generated
+file. It defaults, of course, to F<META.json>.
+
+=head2 version
+
+This parameter lets you pick what version of the spec to use when generating
+the output. It defaults to 2 at present, but may be updated to new specs as
+they are released and adopted.
+
+If you want a fixed version, specify it.
=head1 AUTHOR
@@ -1,7 +1,8 @@
package Dist::Zilla::Plugin::MetaResources;
BEGIN {
- $Dist::Zilla::Plugin::MetaResources::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::MetaResources::VERSION = '3.101461';
}
+
# ABSTRACT: provide arbitrary "resources" for distribution metadata
use Moose;
with 'Dist::Zilla::Role::MetaProvider';
@@ -15,16 +16,33 @@ has resources => (
sub BUILDARGS {
my ($class, @arg) = @_;
- my %copy = ref $arg[0] ? %{$arg[0]} : @arg;
+ my %copy = ref $arg[0] ? %{ $arg[0] } : @arg;
my $zilla = delete $copy{zilla};
my $name = delete $copy{plugin_name};
+ if (exists $copy{bugtracker}) {
+ my $tracker = delete $copy{bugtracker};
+ $copy{bugtracker}{web} = $tracker;
+ }
+
+ if (exists $copy{repository}) {
+ my $repo = delete $copy{repository};
+ $copy{repository}{url} = $repo;
+ }
+
+ for my $multi (qw( bugtracker repository )) {
+ for my $key (grep { /^\Q$multi\E\./ } keys %copy) {
+ my $subkey = (split /\./, $key, 2)[1];
+ $copy{$multi}{$subkey} = delete $copy{$key};
+ }
+ }
+
return {
- zilla => $zilla,
+ zilla => $zilla,
plugin_name => $name,
resources => \%copy,
- }
+ };
}
sub metadata {
@@ -46,14 +64,19 @@ Dist::Zilla::Plugin::MetaResources - provide arbitrary "resources" for distribut
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
This plugin adds resources entries to the distribution's metadata.
[MetaResources]
- homepage = http://example.com/~dude/project.asp
+ homepage = http://example.com/~dude/project.asp
+ bugtracker.web = http://rt.cpan.org/NoAuth/Bugs.html?Dist=Project
+ bugtracker.mailto = bug-project@rt.cpan.org
+ repository.url = git://github.com/dude/project.git
+ repository.web = http://github.com/dude/project
+ repository.type = git
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::MetaTests;
BEGIN {
- $Dist::Zilla::Plugin::MetaTests::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::MetaTests::VERSION = '3.101461';
}
# ABSTRACT: common extra tests for META.yml
use Moose;
@@ -21,7 +21,7 @@ Dist::Zilla::Plugin::MetaTests - common extra tests for META.yml
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,15 +1,29 @@
package Dist::Zilla::Plugin::MetaYAML;
BEGIN {
- $Dist::Zilla::Plugin::MetaYAML::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::MetaYAML::VERSION = '3.101461';
}
# ABSTRACT: produce a META.yml
use Moose;
use Moose::Autobox;
with 'Dist::Zilla::Role::FileGatherer';
+use CPAN::Meta::Converter 2.101460; # lax url schema validation
use Hash::Merge::Simple ();
+has filename => (
+ is => 'ro',
+ isa => 'Str',
+ default => 'META.yml',
+);
+
+
+has version => (
+ is => 'ro',
+ isa => 'Num',
+ default => '1.4',
+);
+
sub gather_files {
my ($self, $arg) = @_;
@@ -17,10 +31,15 @@ sub gather_files {
require YAML::Tiny;
my $zilla = $self->zilla;
+
my $file = Dist::Zilla::File::FromCode->new({
- name => 'META.yml',
+ name => $self->filename,
code => sub {
- YAML::Tiny::Dump($zilla->distmeta);
+ my $distmeta = $zilla->distmeta;
+ my $converter = CPAN::Meta::Converter->new($distmeta);
+ my $output = $converter->convert(version => $self->version);
+
+ YAML::Tiny::Dump($output);
},
});
@@ -41,14 +60,31 @@ Dist::Zilla::Plugin::MetaYAML - produce a META.yml
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
This plugin will add a F<META.yml> file to the distribution.
-For more information on this file, see L<Module::Build::API> and
-L<http://module-build.sourceforge.net/META-spec-v1.3.html>.
+For more information on this file, see L<Module::Build::API> and L<CPAN::Meta>.
+
+=head1 ATTRIBUTES
+
+=head2 filename
+
+If given, parameter allows you to specify an alternate name for the generated
+file. It defaults, of course, to F<META.yml>.
+
+=head2 version
+
+This parameter lets you pick what version of the spec to use when generating
+the output. It defaults to 1.4, the most commonly supported version at
+present.
+
+B<This may change without notice in the future.>
+
+Once version 2 of the META file spec is more widely supported, this may default
+to 2.
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::ModuleBuild;
BEGIN {
- $Dist::Zilla::Plugin::ModuleBuild::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::ModuleBuild::VERSION = '3.101461';
}
# ABSTRACT: build a Build.PL that uses Module::Build
use List::MoreUtils qw(any uniq);
@@ -65,6 +65,18 @@ sub setup_installer {
$self->log_fatal("can't install files with whitespace in their names")
if grep { /\s/ } @exe_files;
+ my $prereqs = $self->zilla->prereqs;
+ my %prereqs = (
+ configure_requires => $prereqs->requirements_for(qw(configure requires)),
+ build_requires => $prereqs->requirements_for(qw(build requires)),
+ requires => $prereqs->requirements_for(qw(runtime requires)),
+ recommends => $prereqs->requirements_for(qw(runtime recommends)),
+ );
+
+ $prereqs{build_requires} = $prereqs{build_requires}->clone->add_requirements(
+ $prereqs->requirements_for(qw(test requires))
+ );
+
my %module_build_args = (
module_name => $name,
license => $self->zilla->license->meta_yml_name,
@@ -75,9 +87,7 @@ sub setup_installer {
script_files => \@exe_files,
($self->zilla->_share_dir ? (share_dir => $self->zilla->_share_dir) : ()),
- # I believe it is a happy coincidence, for the moment, that this happens to
- # return just the same thing that is needed here. -- rjbs, 2010-01-22
- $self->zilla->prereq->as_distmeta->flatten,
+ (map {; $_ => $prereqs{$_}->as_string_hash } keys %prereqs),
);
$self->__module_build_args(\%module_build_args);
@@ -116,7 +126,7 @@ sub build {
my $self = shift;
system($^X => 'Build.PL') and die "error with Build.PL\n";
- system('./Build') and die "error running ./Build\n";
+ system($^X, 'Build') and die "error running $^X Build\n";
return;
}
@@ -125,7 +135,7 @@ sub test {
my ($self, $target) = @_;
$self->build;
- system('./Build test') and die "error running ./Build test\n";
+ system($^X, 'Build', 'test') and die "error running $^X Build test\n";
return;
}
@@ -143,7 +153,7 @@ Dist::Zilla::Plugin::ModuleBuild - build a Build.PL that uses Module::Build
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::NextRelease;
BEGIN {
- $Dist::Zilla::Plugin::NextRelease::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::NextRelease::VERSION = '3.101461';
}
# ABSTRACT: update the next release number in your changelog
@@ -118,7 +118,7 @@ Dist::Zilla::Plugin::NextRelease - update the next release number in your change
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::PkgVersion;
BEGIN {
- $Dist::Zilla::Plugin::PkgVersion::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::PkgVersion::VERSION = '3.101461';
}
# ABSTRACT: add a $VERSION to your packages
use Moose;
@@ -102,7 +102,7 @@ Dist::Zilla::Plugin::PkgVersion - add a $VERSION to your packages
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::PodCoverageTests;
BEGIN {
- $Dist::Zilla::Plugin::PodCoverageTests::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::PodCoverageTests::VERSION = '3.101461';
}
# ABSTRACT: a release test for Pod coverage
use Moose;
@@ -21,7 +21,7 @@ Dist::Zilla::Plugin::PodCoverageTests - a release test for Pod coverage
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::PodSyntaxTests;
BEGIN {
- $Dist::Zilla::Plugin::PodSyntaxTests::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::PodSyntaxTests::VERSION = '3.101461';
}
# ABSTRACT: a release test for Pod syntax
use Moose;
@@ -21,7 +21,7 @@ Dist::Zilla::Plugin::PodSyntaxTests - a release test for Pod syntax
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::PodVersion;
BEGIN {
- $Dist::Zilla::Plugin::PodVersion::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::PodVersion::VERSION = '3.101461';
}
# ABSTRACT: add a VERSION head1 to each Perl document
use Moose;
@@ -75,7 +75,7 @@ Dist::Zilla::Plugin::PodVersion - add a VERSION head1 to each Perl document
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::Prereq;
BEGIN {
- $Dist::Zilla::Plugin::Prereq::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::Prereq::VERSION = '3.101461';
}
# ABSTRACT: list simple prerequisites
use Moose;
@@ -32,7 +32,6 @@ has prereq_phase => (
my ($phase, $type) = $self->__from_name;
$phase ||= 'runtime';
$phase = lc $phase;
- $phase = 'build' if $phase eq 'test'; # XXX: Temporary -- rjbs, 2010-03-20
return $phase;
},
);
@@ -122,7 +121,7 @@ Dist::Zilla::Plugin::Prereq - list simple prerequisites
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::PruneCruft;
BEGIN {
- $Dist::Zilla::Plugin::PruneCruft::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::PruneCruft::VERSION = '3.101461';
}
# ABSTRACT: prune stuff that you probably don't mean to include
use Moose;
@@ -47,7 +47,7 @@ Dist::Zilla::Plugin::PruneCruft - prune stuff that you probably don't mean to in
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::PruneFiles;
BEGIN {
- $Dist::Zilla::Plugin::PruneFiles::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::PruneFiles::VERSION = '3.101461';
}
# ABSTRACT: prune arbirary files from the dist
use Moose;
@@ -47,7 +47,7 @@ Dist::Zilla::Plugin::PruneFiles - prune arbirary files from the dist
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::Readme;
BEGIN {
- $Dist::Zilla::Plugin::Readme::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::Readme::VERSION = '3.101461';
}
# ABSTRACT: build a README file
use Moose;
@@ -52,7 +52,7 @@ Dist::Zilla::Plugin::Readme - build a README file
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::ShareDir;
BEGIN {
- $Dist::Zilla::Plugin::ShareDir::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::ShareDir::VERSION = '3.101461';
}
# ABSTRACT: install a directory's contents as "ShareDir" content
use Moose;
@@ -28,7 +28,7 @@ Dist::Zilla::Plugin::ShareDir - install a directory's contents as "ShareDir" con
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::TemplateModule;
BEGIN {
- $Dist::Zilla::Plugin::TemplateModule::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::TemplateModule::VERSION = '3.101461';
}
# ABSTRACT: a simple module-from-template plugin
use Moose;
@@ -11,6 +11,7 @@ use autodie;
use Data::Section 0.004 -setup; # fixed header_re
use Dist::Zilla::File::InMemory;
+
has template => (
is => 'ro',
isa => 'Str',
@@ -59,7 +60,30 @@ Dist::Zilla::Plugin::TemplateModule - a simple module-from-template plugin
=head1 VERSION
-version 2.101310
+version 3.101461
+
+=head1 DESCRIPTION
+
+This is a L<ModuleMaker|Dist::Zilla::Role::ModuleMaker> used for creating new
+Perl modules files when minting a new dist with C<dzil new>. It uses
+L<Text::Template> (via L<Dist::Zilla::Role::TextTemplate>) to render a template
+into a Perl module. The only variable provided to the template is C<$name>,
+the module name. The module is always created as a file under F<./lib>.
+
+By default, the template looks something like this:
+
+ use strict;
+ use warnings;
+ package {{ $name }};
+
+ 1;
+
+=head1 ATTRIBUTES
+
+=head2 template
+
+The C<template> parameter may be given to the plugin to provide a different
+filename, absolute or relative to the build root.
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::TestRelease;
BEGIN {
- $Dist::Zilla::Plugin::TestRelease::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::TestRelease::VERSION = '3.101461';
}
use Moose;
with 'Dist::Zilla::Role::BeforeRelease';
@@ -54,7 +54,7 @@ Dist::Zilla::Plugin::TestRelease - extract archive and run tests before releasin
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Plugin::UploadToCPAN;
BEGIN {
- $Dist::Zilla::Plugin::UploadToCPAN::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::UploadToCPAN::VERSION = '3.101461';
}
# ABSTRACT: upload the dist to CPAN
use Moose;
@@ -18,7 +18,7 @@ use namespace::autoclean;
package
Dist::Zilla::Plugin::UploadToCPAN::_Uploader;
BEGIN {
- $Dist::Zilla::Plugin::UploadToCPAN::_Uploader::VERSION = '2.101310';
+ $Dist::Zilla::Plugin::UploadToCPAN::_Uploader::VERSION = '3.101461';
}
use base 'CPAN::Uploader';
sub log {
@@ -123,7 +123,7 @@ Dist::Zilla::Plugin::UploadToCPAN - upload the dist to CPAN
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::PluginBundle::Basic;
BEGIN {
- $Dist::Zilla::PluginBundle::Basic::VERSION = '2.101310';
+ $Dist::Zilla::PluginBundle::Basic::VERSION = '3.101461';
}
# ABSTRACT: the basic plugins to maintain and release CPAN dists
use Moose;
@@ -42,7 +42,7 @@ Dist::Zilla::PluginBundle::Basic - the basic plugins to maintain and release CPA
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::PluginBundle::Classic;
BEGIN {
- $Dist::Zilla::PluginBundle::Classic::VERSION = '2.101310';
+ $Dist::Zilla::PluginBundle::Classic::VERSION = '3.101461';
}
# ABSTRACT: the classic (old) default configuration for Dist::Zilla
use Moose;
@@ -45,7 +45,7 @@ Dist::Zilla::PluginBundle::Classic - the classic (old) default configuration for
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::PluginBundle::FakeClassic;
BEGIN {
- $Dist::Zilla::PluginBundle::FakeClassic::VERSION = '2.101310';
+ $Dist::Zilla::PluginBundle::FakeClassic::VERSION = '3.101461';
}
# ABSTRACT: build something more or less like a "classic" CPAN dist
use Moose;
@@ -39,7 +39,7 @@ Dist::Zilla::PluginBundle::FakeClassic - build something more or less like a "cl
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::PluginBundle::Filter;
BEGIN {
- $Dist::Zilla::PluginBundle::Filter::VERSION = '2.101310';
+ $Dist::Zilla::PluginBundle::Filter::VERSION = '3.101461';
}
# ABSTRACT: use another bundle, with some plugins removed
use Moose;
@@ -56,7 +56,7 @@ Dist::Zilla::PluginBundle::Filter - use another bundle, with some plugins remove
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,12 +1,13 @@
package Dist::Zilla::Prereqs;
BEGIN {
- $Dist::Zilla::Prereqs::VERSION = '2.101310';
+ $Dist::Zilla::Prereqs::VERSION = '3.101461';
}
# ABSTRACT: the prerequisites of a Dist::Zilla distribution
use Moose;
use Moose::Autobox;
use MooseX::Types::Moose qw(Bool HashRef);
+use CPAN::Meta::Prereqs 2.101390;
use Hash::Merge::Simple ();
use Path::Class ();
use String::RewritePrefix;
@@ -14,60 +15,33 @@ use Version::Requirements;
use namespace::autoclean;
-has is_finalized => (
- is => 'ro',
- isa => Bool,
- traits => [ qw(Bool) ],
- default => 0,
- handles => {
- finalize => 'set',
- },
-);
-has _guts => (
+has cpan_meta_prereqs => (
is => 'ro',
- isa => HashRef,
- default => sub { {} },
+ isa => 'CPAN::Meta::Prereqs',
init_arg => undef,
+ default => sub { CPAN::Meta::Prereqs->new },
+ handles => [ qw(
+ finalize
+ is_finalized
+ requirements_for
+ as_string_hash
+ ) ],
);
-sub as_distmeta {
- my ($self) = @_;
-
- my $distmeta = {
- requires =>
- ($self->_guts->{runtime}{requires} || Version::Requirements->new)
- ->as_string_hash,
- recommends =>
- ($self->_guts->{runtime}{recommends} || Version::Requirements->new)
- ->as_string_hash,
- build_requires =>
- ($self->_guts->{build}{requires} || Version::Requirements->new)
- ->as_string_hash,
- configure_requires =>
- ($self->_guts->{configure}{requires} || Version::Requirements->new)
- ->as_string_hash,
- };
-
- return $distmeta;
-}
sub register_prereqs {
my $self = shift;
my $arg = ref($_[0]) ? shift(@_) : {};
my %prereq = @_;
- confess "too late to register a prereq" if $self->is_finalized;
-
my $phase = $arg->{phase} || 'runtime';
my $type = $arg->{type} || 'requires';
- $phase = 'build' if $phase eq 'test';
-
- my $prereq = ($self->_guts->{$phase}{$type} ||= Version::Requirements->new);
+ my $req = $self->requirements_for($phase, $type);
while (my ($package, $version) = each %prereq) {
- $prereq->add_minimum($package, $version);
+ $req->add_minimum($package, $version);
}
return;
@@ -84,7 +58,63 @@ Dist::Zilla::Prereqs - the prerequisites of a Dist::Zilla distribution
=head1 VERSION
-version 2.101310
+version 3.101461
+
+=head1 DESCRIPTION
+
+Dist::Zilla::Prereqs is a subcomponent of Dist::Zilla. The C<prereqs>
+attribute on your Dist::Zilla object is a Dist::Zilla::Prereqs object, and is
+responsible for keeping track of the distribution's prerequisites.
+
+In fact, a Dist::Zilla::Prereqs object is just a thin layer over a
+L<CPAN::Meta::Prereqs> object, stored in the C<cpan_meta_prereqs> attribute.
+
+Almost everything this object does is proxied to the CPAN::Meta::Prereqs
+object, so you should really read how I<that> works.
+
+Dist::Zilla::Prereqs proxies the following methods to the CPAN::Meta::Prereqs
+object:
+
+=over 4
+
+=item *
+
+finalize
+
+=item *
+
+is_finalized
+
+=item *
+
+requirements_for
+
+=item *
+
+as_string_hash
+
+=back
+
+=head1 METHODS
+
+=head2 register_prereqs
+
+ $prereqs->register_prereqs(%prereqs);
+
+ $prereqs->register_prereqs(\%arg, %prereqs);
+
+This method adds new minimums to the prereqs object. If a hashref is the first
+arg, it may have entries for C<phase> and C<type> to indicate what kind of
+prereqs are being registered. (For more information on phase and type, see
+L<CPAN::Meta::Spec>.) For example, you might say:
+
+ $prereqs->register_prereqs(
+ { phase => 'test', type => 'recommends' },
+ 'Test::Foo' => '1.23',
+ 'XML::YZZY' => '2.01',
+ );
+
+If not given, phase and type default to runtime and requires, respectively.
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::AfterBuild;
BEGIN {
- $Dist::Zilla::Role::AfterBuild::VERSION = '2.101310';
+ $Dist::Zilla::Role::AfterBuild::VERSION = '3.101461';
}
# ABSTRACT: something that runs after building is mostly complete
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::AfterBuild - something that runs after building is mostly com
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::AfterMint;
BEGIN {
- $Dist::Zilla::Role::AfterMint::VERSION = '2.101310';
+ $Dist::Zilla::Role::AfterMint::VERSION = '3.101461';
}
# ABSTRACT: something that runs after minting is mostly complete
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::AfterMint - something that runs after minting is mostly compl
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -3,7 +3,7 @@ use warnings;
package Dist::Zilla::Role::AfterRelease;
BEGIN {
- $Dist::Zilla::Role::AfterRelease::VERSION = '2.101310';
+ $Dist::Zilla::Role::AfterRelease::VERSION = '3.101461';
}
# ABSTRACT: something that runs after release is mostly complete
@@ -24,7 +24,7 @@ Dist::Zilla::Role::AfterRelease - something that runs after release is mostly co
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::BeforeArchive;
BEGIN {
- $Dist::Zilla::Role::BeforeArchive::VERSION = '2.101310';
+ $Dist::Zilla::Role::BeforeArchive::VERSION = '3.101461';
}
use Moose::Role;
with 'Dist::Zilla::Role::Plugin';
@@ -20,7 +20,7 @@ Dist::Zilla::Role::BeforeArchive - something that runs before the archive file i
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::BeforeBuild;
BEGIN {
- $Dist::Zilla::Role::BeforeBuild::VERSION = '2.101310';
+ $Dist::Zilla::Role::BeforeBuild::VERSION = '3.101461';
}
# ABSTRACT: something that runs before building really begins
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::BeforeBuild - something that runs before building really begi
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::BeforeMint;
BEGIN {
- $Dist::Zilla::Role::BeforeMint::VERSION = '2.101310';
+ $Dist::Zilla::Role::BeforeMint::VERSION = '3.101461';
}
# ABSTRACT: something that runs before minting really begins
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::BeforeMint - something that runs before minting really begins
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -3,7 +3,7 @@ use warnings;
package Dist::Zilla::Role::BeforeRelease;
BEGIN {
- $Dist::Zilla::Role::BeforeRelease::VERSION = '2.101310';
+ $Dist::Zilla::Role::BeforeRelease::VERSION = '3.101461';
}
# ABSTRACT: something that runs before release really begins
@@ -24,7 +24,7 @@ Dist::Zilla::Role::BeforeRelease - something that runs before release really beg
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::BuildRunner;
BEGIN {
- $Dist::Zilla::Role::BuildRunner::VERSION = '2.101310';
+ $Dist::Zilla::Role::BuildRunner::VERSION = '3.101461';
}
use Moose::Role;
with 'Dist::Zilla::Role::Plugin';
@@ -21,7 +21,7 @@ Dist::Zilla::Role::BuildRunner - something used as a delegating agent during 'dz
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::Chrome;
BEGIN {
- $Dist::Zilla::Role::Chrome::VERSION = '2.101310';
+ $Dist::Zilla::Role::Chrome::VERSION = '3.101461';
}
use Moose::Role;
# ABSTRACT: something that provides a user interface for Dist::Zilla
@@ -18,7 +18,7 @@ Dist::Zilla::Role::Chrome - something that provides a user interface for Dist::Z
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::ConfigDumper;
BEGIN {
- $Dist::Zilla::Role::ConfigDumper::VERSION = '2.101310';
+ $Dist::Zilla::Role::ConfigDumper::VERSION = '3.101461';
}
# ABSTRACT: something that can dump its (public, simplified) configuraiton
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::ConfigDumper - something that can dump its (public, simplifie
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::ExecFiles;
BEGIN {
- $Dist::Zilla::Role::ExecFiles::VERSION = '2.101310';
+ $Dist::Zilla::Role::ExecFiles::VERSION = '3.101461';
}
use Moose::Role;
with 'Dist::Zilla::Role::FileFinder';
@@ -26,7 +26,7 @@ Dist::Zilla::Role::ExecFiles - something that finds files to install as executab
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::File;
BEGIN {
- $Dist::Zilla::Role::File::VERSION = '2.101310';
+ $Dist::Zilla::Role::File::VERSION = '3.101461';
}
# ABSTRACT: something that can act like a file
use Moose::Role;
@@ -48,7 +48,7 @@ Dist::Zilla::Role::File - something that can act like a file
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::FileFinder;
BEGIN {
- $Dist::Zilla::Role::FileFinder::VERSION = '2.101310';
+ $Dist::Zilla::Role::FileFinder::VERSION = '3.101461';
}
use Moose::Autobox;
# ABSTRACT: something that finds files within the distribution
@@ -22,7 +22,7 @@ Dist::Zilla::Role::FileFinder - something that finds files within the distributi
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::FileFinderUser;
BEGIN {
- $Dist::Zilla::Role::FileFinderUser::VERSION = '2.101310';
+ $Dist::Zilla::Role::FileFinderUser::VERSION = '3.101461';
}
use MooseX::Role::Parameterized;
# ABSTRACT: something that uses FileFinder plugins
@@ -78,7 +78,7 @@ Dist::Zilla::Role::FileFinderUser - something that uses FileFinder plugins
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::FileGatherer;
BEGIN {
- $Dist::Zilla::Role::FileGatherer::VERSION = '2.101310';
+ $Dist::Zilla::Role::FileGatherer::VERSION = '3.101461';
}
use Moose::Autobox;
# ABSTRACT: something that gathers files into the distribution
@@ -23,7 +23,7 @@ Dist::Zilla::Role::FileGatherer - something that gathers files into the distribu
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::FileInjector;
BEGIN {
- $Dist::Zilla::Role::FileInjector::VERSION = '2.101310';
+ $Dist::Zilla::Role::FileInjector::VERSION = '3.101461';
}
use Moose::Autobox;
# ABSTRACT: something that can add files to the distribution
@@ -32,7 +32,7 @@ Dist::Zilla::Role::FileInjector - something that can add files to the distributi
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::FileMunger;
BEGIN {
- $Dist::Zilla::Role::FileMunger::VERSION = '2.101310';
+ $Dist::Zilla::Role::FileMunger::VERSION = '3.101461';
}
# ABSTRACT: something that alters a file's destination or content
use Moose::Role;
@@ -30,7 +30,7 @@ Dist::Zilla::Role::FileMunger - something that alters a file's destination or co
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::FilePruner;
BEGIN {
- $Dist::Zilla::Role::FilePruner::VERSION = '2.101310';
+ $Dist::Zilla::Role::FilePruner::VERSION = '3.101461';
}
# ABSTRACT: something that removes found files from the distribution
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::FilePruner - something that removes found files from the dist
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::InstallTool;
BEGIN {
- $Dist::Zilla::Role::InstallTool::VERSION = '2.101310';
+ $Dist::Zilla::Role::InstallTool::VERSION = '3.101461';
}
# ABSTRACT: something that creates an install program for a dist
use Moose::Role;
@@ -23,7 +23,7 @@ Dist::Zilla::Role::InstallTool - something that creates an install program for a
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::MetaProvider;
BEGIN {
- $Dist::Zilla::Role::MetaProvider::VERSION = '2.101310';
+ $Dist::Zilla::Role::MetaProvider::VERSION = '3.101461';
}
# ABSTRACT: something that provides metadata (for META.yml/json)
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::MetaProvider - something that provides metadata (for META.yml
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::ModuleMaker;
BEGIN {
- $Dist::Zilla::Role::ModuleMaker::VERSION = '2.101310';
+ $Dist::Zilla::Role::ModuleMaker::VERSION = '3.101461';
}
# ABSTRACT: something that injects module files into the dist
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::ModuleMaker - something that injects module files into the di
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -29,7 +29,7 @@ Plugins implementing this role have their C<make_module> method called for each
module requesting creation by the plugin with this name. It is passed a
hashref with the following data:
- name - the name of the module to make (a Dist::Zilla::Types::ModuleName)
+ name - the name of the module to make (a MooseX::Types::Perl::ModuleName)
Classes composing this role also compose
L<FileInjector|Dist::Zilla::Role::FileInjector> and are expected to inject a
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::Plugin;
BEGIN {
- $Dist::Zilla::Role::Plugin::VERSION = '2.101310';
+ $Dist::Zilla::Role::Plugin::VERSION = '3.101461';
}
# ABSTRACT: something that gets plugged in to Dist::Zilla
use Moose::Role;
@@ -56,7 +56,7 @@ Dist::Zilla::Role::Plugin - something that gets plugged in to Dist::Zilla
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::PluginBundle::Easy;
BEGIN {
- $Dist::Zilla::Role::PluginBundle::Easy::VERSION = '2.101310';
+ $Dist::Zilla::Role::PluginBundle::Easy::VERSION = '3.101461';
}
# ABSTRACT: something that bundles a bunch of plugins easily
# This plugin was originally contributed by Christopher J. Madsen
@@ -140,7 +140,7 @@ Dist::Zilla::Role::PluginBundle::Easy - something that bundles a bunch of plugin
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::PluginBundle;
BEGIN {
- $Dist::Zilla::Role::PluginBundle::VERSION = '2.101310';
+ $Dist::Zilla::Role::PluginBundle::VERSION = '3.101461';
}
# ABSTRACT: something that bundles a bunch of plugins
use Moose::Role;
@@ -20,7 +20,7 @@ Dist::Zilla::Role::PluginBundle - something that bundles a bunch of plugins
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::PrereqSource;
BEGIN {
- $Dist::Zilla::Role::PrereqSource::VERSION = '2.101310';
+ $Dist::Zilla::Role::PrereqSource::VERSION = '3.101461';
}
# ABSTRACT: something that registers prerequisites
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::PrereqSource - something that registers prerequisites
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::Releaser;
BEGIN {
- $Dist::Zilla::Role::Releaser::VERSION = '2.101310';
+ $Dist::Zilla::Role::Releaser::VERSION = '3.101461';
}
# ABSTRACT: something that makes a release of the dist
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::Releaser - something that makes a release of the dist
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::ShareDir;
BEGIN {
- $Dist::Zilla::Role::ShareDir::VERSION = '2.101310';
+ $Dist::Zilla::Role::ShareDir::VERSION = '3.101461';
}
use Moose::Role;
with 'Dist::Zilla::Role::FileFinder';
@@ -24,7 +24,7 @@ Dist::Zilla::Role::ShareDir - something that picks a directory to install as sha
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::TestRunner;
BEGIN {
- $Dist::Zilla::Role::TestRunner::VERSION = '2.101310';
+ $Dist::Zilla::Role::TestRunner::VERSION = '3.101461';
}
use Moose::Role;
with 'Dist::Zilla::Role::Plugin';
@@ -21,7 +21,7 @@ Dist::Zilla::Role::TestRunner - something used as a delegating agent to 'dzil te
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::TextTemplate;
BEGIN {
- $Dist::Zilla::Role::TextTemplate::VERSION = '2.101310';
+ $Dist::Zilla::Role::TextTemplate::VERSION = '3.101461';
}
# ABSTRACT: something that renders a Text::Template template string
use Moose::Role;
@@ -42,7 +42,7 @@ Dist::Zilla::Role::TextTemplate - something that renders a Text::Template templa
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Role::VersionProvider;
BEGIN {
- $Dist::Zilla::Role::VersionProvider::VERSION = '2.101310';
+ $Dist::Zilla::Role::VersionProvider::VERSION = '3.101461';
}
# ABSTRACT: something that provides a version number for the dist
use Moose::Role;
@@ -21,7 +21,7 @@ Dist::Zilla::Role::VersionProvider - something that provides a version number fo
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1,6 +1,6 @@
package Dist::Zilla::Tester;
BEGIN {
- $Dist::Zilla::Tester::VERSION = '2.101310';
+ $Dist::Zilla::Tester::VERSION = '3.101461';
}
use Moose;
extends 'Dist::Zilla';
@@ -133,7 +133,7 @@ Dist::Zilla::Tester - a testing-enabling stand-in for Dist::Zilla
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::Tutorial;
BEGIN {
- $Dist::Zilla::Tutorial::VERSION = '2.101310';
+ $Dist::Zilla::Tutorial::VERSION = '3.101461';
}
# ABSTRACT: how to use this "Dist::Zilla" thing
use Carp ();
@@ -18,7 +18,7 @@ Dist::Zilla::Tutorial - how to use this "Dist::Zilla" thing
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 SYNOPSIS
@@ -1,37 +1,14 @@
package Dist::Zilla::Types;
BEGIN {
- $Dist::Zilla::Types::VERSION = '2.101310';
+ $Dist::Zilla::Types::VERSION = '3.101461';
}
# ABSTRACT: dzil-specific type library
-use MooseX::Types -declare => [qw(DistName License ModuleName VersionStr)];
-use MooseX::Types::Moose qw(Str);
-
-use Params::Util qw(_CLASS);
-
-use version 0.82;
-
-subtype ModuleName,
- as Str,
- where { _CLASS($_) },
- message { "$_ is not a valid module name" };
-
-subtype DistName,
- as Str,
- where { return if /:/; (my $str = $_) =~ s/-/::/g; _CLASS($str) },
- message {
- /::/
- ? "$_ looks like a module name, not a dist name"
- : "$_ is not a valid dist name"
- };
-subtype License,
- as class_type('Software::License');
+use MooseX::Types -declare => [qw(License)];
+use MooseX::Types::Moose qw(Str);
-subtype VersionStr,
- as Str,
- where { version::is_lax($_) },
- message { "$_ is not a valid version string" };
+subtype License, as class_type('Software::License');
1;
@@ -44,7 +21,15 @@ Dist::Zilla::Types - dzil-specific type library
=head1 VERSION
-version 2.101310
+version 3.101461
+
+=head1 OVERVIEW
+
+This library provides L<MooseX::Types> types for use by Dist::Zilla. These
+types are not (yet?) for public consumption, and you should not rely on them.
+
+Dist::Zilla uses a number of types found in L<MooseX::Types::Perl>. Maybe
+that's what you want.
=head1 AUTHOR
@@ -1,6 +1,6 @@
package Dist::Zilla::Util::MVPAssembler;
BEGIN {
- $Dist::Zilla::Util::MVPAssembler::VERSION = '2.101310';
+ $Dist::Zilla::Util::MVPAssembler::VERSION = '3.101461';
}
use Moose;
extends 'Config::MVP::Assembler';
@@ -33,7 +33,7 @@ Dist::Zilla::Util::MVPAssembler - Dist::Zilla-specific subclass of Config::MVP::
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 AUTHOR
@@ -2,7 +2,7 @@ use strict;
use warnings;
package Dist::Zilla::Util;
BEGIN {
- $Dist::Zilla::Util::VERSION = '2.101310';
+ $Dist::Zilla::Util::VERSION = '3.101461';
}
# ABSTRACT: random snippets of code that Dist::Zilla wants
@@ -12,7 +12,7 @@ use String::RewritePrefix 0.002; # better string context behavior
package
Dist::Zilla::Util::PEA;
BEGIN {
- $Dist::Zilla::Util::PEA::VERSION = '2.101310';
+ $Dist::Zilla::Util::PEA::VERSION = '3.101461';
}
use Pod::Eventual 0.091480; # better nonpod/blank events
use base 'Pod::Eventual';
@@ -84,7 +84,7 @@ Dist::Zilla::Util - random snippets of code that Dist::Zilla wants
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 METHODS
@@ -1,17 +1,19 @@
package Dist::Zilla;
BEGIN {
- $Dist::Zilla::VERSION = '2.101310';
+ $Dist::Zilla::VERSION = '3.101461';
}
# ABSTRACT: distribution builder; installer not included!
use Moose 0.92; # role composition fixes
with 'Dist::Zilla::Role::ConfigDumper';
use Moose::Autobox 0.09; # ->flatten
-use Dist::Zilla::Types qw(DistName License VersionStr);
use MooseX::Types::Moose qw(Bool HashRef);
+use MooseX::Types::Perl qw(DistName LaxVersionStr);
use MooseX::Types::Path::Class qw(Dir File);
use Moose::Util::TypeConstraints;
+use Dist::Zilla::Types qw(License);
+
use Archive::Tar;
use File::Find::Rule;
use File::pushd ();
@@ -21,7 +23,7 @@ use List::Util qw(first);
use Log::Dispatchouli 1.100712; # proxy_loggers, quiet_fatal
use Params::Util qw(_HASHLIKE);
use Path::Class;
-use Software::License;
+use Software::License 0.101370; # meta2_name
use String::RewritePrefix;
use Dist::Zilla::Prereqs;
@@ -55,7 +57,7 @@ has version_override => (
# XXX: *clearly* this needs to be really much smarter -- rjbs, 2008-06-01
has version => (
is => 'rw',
- isa => VersionStr,
+ isa => LaxVersionStr,
lazy => 1,
init_arg => undef,
required => 1,
@@ -290,17 +292,18 @@ sub _build_distmeta {
my $meta = {
'meta-spec' => {
- version => 1.4,
- url => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
+ version => 2,
+ url => 'http://github.com/dagolden/cpan-meta/',
},
name => $self->name,
version => $self->version,
abstract => $self->abstract,
author => $self->authors,
- license => $self->license->meta_yml_name,
- generated_by => (ref $self)
- . ' version '
- . (defined $self->VERSION ? $self->VERSION : '(undef)')
+ license => $self->license->meta2_name,
+ dynamic_config => 0,
+ generated_by => (ref $self)
+ . ' version '
+ . (defined $self->VERSION ? $self->VERSION : '(undef)')
};
$meta = Hash::Merge::Simple::merge($meta, $_->metadata)
@@ -310,7 +313,7 @@ sub _build_distmeta {
}
-has prereq => (
+has prereqs => (
is => 'ro',
isa => 'Dist::Zilla::Prereqs',
init_arg => undef,
@@ -334,6 +337,7 @@ sub from_config {
my $core_config = $seq->section_named('_')->payload;
my $self = $class->new({
+ root => $root,
%$core_config,
chrome => $arg->{chrome},
});
@@ -468,14 +472,7 @@ sub _load_config {
);
my $root = $arg->{root};
- my ($sequence) = $config_class->new->read_config({
- root => $root,
- basename => 'dist',
- });
-
- # I wonder if the root should be named '' or something, but that's probably
- # sort of a ridiculous thing to worry about. -- rjbs, 2009-08-24
- $sequence->section_named('_')->add_value(root => $root);
+ my ($sequence) = $config_class->new->read_config( $root->file('dist') );
return $sequence;
}
@@ -549,11 +546,10 @@ sub build_in {
$_->register_prereqs for $self->plugins_with(-PrereqSource)->flatten;
- $self->prereq->finalize;
+ $self->prereqs->finalize;
- my $meta = $self->distmeta;
- my $prereq = $self->prereq->as_distmeta;
- $meta->{ $_ } = $prereq->{ $_ } for keys %$prereq;
+ # Barf if someone has already set up a prereqs entry? -- rjbs, 2010-04-13
+ $self->distmeta->{prereqs} = $self->prereqs->as_string_hash;
$_->setup_installer for $self->plugins_with(-InstallTool)->flatten;
@@ -726,8 +722,10 @@ sub install {
my $wd = File::pushd::pushd($target);
my @cmd = $arg->{install_command}
? $arg->{install_command}
- : ($^X => '-MCPAN' => '-einstall "."');
+ : ($^X => '-MCPAN' =>
+ $^O eq 'MSWin32' ? q{-e"install '.'"} : '-einstall "."');
+ $self->log_debug([ 'installing via %s', \@cmd ]);
system(@cmd) && $self->log_fatal([ "error running %s", \@cmd ]);
};
@@ -856,19 +854,11 @@ sub _global_config {
or Carp::croak("couldn't determine home directory");
my $file = dir($homedir)->file('.dzil');
- return unless -e $file;
+ return unless -e $file and -d $file;
- if (-d $file) {
- return Dist::Zilla::Config::Finder->new->read_config({
- root => dir($homedir)->subdir('.dzil'),
- basename => 'config',
- });
- } else {
- return Dist::Zilla::Config::Finder->new->read_config({
- root => dir($homedir),
- filename => '.dzil',
- });
- }
+ return Dist::Zilla::Config::Finder->new->read_config(
+ dir($homedir)->subdir('.dzil')->file('config')
+ );
}
sub _global_config_for {
@@ -910,10 +900,9 @@ sub _new_from_profile {
"no default dist minting profile available"
);
} else {
- ($sequence) = $config_class->new->read_config({
- root => $profile_dir->subdir($profile_name),
- basename => 'profile',
- });
+ ($sequence) = $config_class->new->read_config(
+ $profile_dir->subdir($profile_name)->file('profile'),
+ );
}
my $self = $class->new({
@@ -1033,7 +1022,7 @@ Dist::Zilla - distribution builder; installer not included!
=head1 VERSION
-version 2.101310
+version 3.101461
=head1 DESCRIPTION
@@ -1135,14 +1124,34 @@ This is a hashref containing the metadata about this distribution that
will be stored in META.yml or META.json. You should not alter the
metadata in this hash; use a MetaProvider plugin instead.
-=head2 prereq
+=head2 prereqs
-This is a hashref of module prerequisites. This attribute is likely to get
-greatly overhauled, or possibly replaced with a method based on other
-(private?) attributes.
+This is a L<Dist::Zilla::Prereqs> object, which is a thin layer atop
+L<CPAN::Meta::Prereqs>, and describes the distribution's prerequisites.
-I<Actually>, it is more likely that this attribute will contain an object in
-the future.
+=head2 logger
+
+This attribute stores a L<Log::Dispatchouli::Proxy> object, used to log
+messages. By default, a proxy to the dist's L<Chrome|Dist::Zilla::Chrome> is
+taken.
+
+The following methods are delegated from the Dist::Zilla object to the logger:
+
+=over 4
+
+=item *
+
+log
+
+=item *
+
+log_debug
+
+=item *
+
+log_fatal
+
+=back
=head1 METHODS
@@ -1238,11 +1247,12 @@ does it clean up C<$directory> afterwards.
=head2 run_in_build
-=head2 log
-
- $zilla->log($message);
+ $zilla->run_in_build(\@cmd);
-This method logs the given message.
+This method makes a temporary directory, builds the distribution there,
+executes the dist's first L<BuildRunner|Dist::Zilla::Role::BuildRunner>, and
+then runs the given command in the build directory. If the command exits
+non-zero, the directory will be left in place.
=head1 SUPPORT
@@ -4,14 +4,18 @@ package Test::DZil;
use Dist::Zilla::Tester;
use Params::Util qw(_HASH0);
+use JSON 2;
+use YAML::Tiny;
use Sub::Exporter -setup => {
exports => [
is_filelist =>
+ is_yaml =>
+ is_json =>
dist_ini => \'_dist_ini',
simple_ini => \'_simple_ini',
],
- groups => [ default => [ qw(dist_ini simple_ini is_filelist) ] ],
+ groups => [ default => [ qw(dist_ini simple_ini is_filelist is_yaml is_json) ] ],
};
sub is_filelist {
@@ -23,6 +27,24 @@ sub is_filelist {
Test::More::is_deeply(\@have, \@want, $comment);
}
+sub is_yaml {
+ my ($yaml, $want, $comment) = @_;
+
+ my $have = YAML::Tiny->read_string($yaml)
+ or die "Cannot decode YAML";
+
+ Test::More::is_deeply($have->[0], $want, $comment);
+}
+
+sub is_json {
+ my ($json, $want, $comment) = @_;
+
+ my $have = JSON->new->ascii(1)->decode($json)
+ or die "Cannot decode JSON";
+
+ Test::More::is_deeply($have, $want, $comment);
+}
+
sub _build_ini_builder {
my ($starting_core) = @_;
$starting_core ||= {};
@@ -41,6 +41,10 @@ my %wanted = (
'perl' => 5.008,
);
-is_deeply( $meta->{requires}, \%wanted, 'all requires found, but no more' );
+is_deeply(
+ $meta->{prereqs}{runtime}{requires},
+ \%wanted,
+ 'all requires found, but no more',
+);
done_testing;
@@ -9,61 +9,141 @@ use Test::DZil;
use JSON 2;
use YAML::Tiny;
-my $tzil = Dist::Zilla::Tester->from_config(
- { dist_root => 'corpus/DZT' },
- {
- add_files => {
- 'source/dist.ini' => simple_ini(
- 'GatherDir',
- [ MetaResources => HomePage => { homepage => 'http://bana.na/phone' } ],
- [ MetaResources => License => { license => 'http://b.sd/license' } ],
- [ Prereq => { 'Foo::Bar' => '1.234' } ],
- [ Prereq => RuntimeRecommends => { 'Foo::Bar::Opt' => '1.234' } ],
- [ Prereq => BuildRequires => { 'Test::Foo' => '2.34' } ],
- [ Prereq => ConfigureRequires => { 'Build::Foo' => '0.12' } ],
- 'MetaJSON',
- 'MetaYAML',
- 'MetaConfig',
- ),
+{
+ # 2.0
+ my $tzil = Dist::Zilla::Tester->from_config(
+ { dist_root => 'corpus/DZT' },
+ {
+ add_files => {
+ 'source/dist.ini' => simple_ini(
+ 'GatherDir',
+ [ MetaResources => HomePage => {homepage => 'http://bana.na/phone'}],
+ [ MetaResources => License => {license => 'http://b.sd/license' }],
+ [ Prereq => { 'Foo::Bar' => '1.234' } ],
+ [ Prereq => RuntimeRecommends => { 'Foo::Bar::Opt' => '1.234' } ],
+ [ Prereq => BuildRequires => { 'Test::Foo' => '2.34' } ],
+ [ Prereq => ConfigureRequires => { 'Build::Foo' => '0.12' } ],
+ 'MetaJSON',
+ [ MetaYAML => { version => 2 } ],
+ 'MetaConfig',
+ ),
+ },
},
- },
-);
+ );
+
+ $tzil->build;
+
+ my @files = map {; $_->name } @{ $tzil->files };
-$tzil->build;
+ my %meta;
-my @files = map {; $_->name } @{ $tzil->files };
+ my $json = $tzil->slurp_file('build/META.json');
+ $meta{json} = JSON->new->decode($json);
-my %meta;
+ my $yaml = $tzil->slurp_file('build/META.yml');
+ $meta{yaml} = YAML::Tiny->new->read_string($yaml)->[0];
-my $json = $tzil->slurp_file('build/META.json');
-$meta{json} = JSON->new->decode($json);
+ is_deeply($meta{json}, $meta{yaml}, "META.json is_deeply META.yml");
-my $yaml = $tzil->slurp_file('build/META.yml');
-$meta{yaml} = YAML::Tiny->new->read_string($yaml)->[0];
+ for my $type (qw(json yaml)) {
+ my $meta = $meta{$type};
-is_deeply($meta{json}, $meta{yaml}, "META.json is_deeply META.yml");
+ my %want = (
+ name => 'DZT-Sample',
+ abstract => 'Sample DZ Dist',
+ author => [ 'E. Xavier Ample <example@example.org>' ],
-for my $type (qw(json yaml)) {
- my $meta = $meta{$type};
+ prereqs => {
+ runtime => {
+ requires => { 'Foo::Bar' => '1.234' },
+ recommends => { 'Foo::Bar::Opt' => '1.234' },
+ },
+ build => { requires => { 'Test::Foo' => '2.34' } },
+ configure => { requires => { 'Build::Foo' => '0.12' } },
+ },
- my %want = (
- name => 'DZT-Sample',
- abstract => 'Sample DZ Dist',
- author => [ 'E. Xavier Ample <example@example.org>' ],
- requires => { 'Foo::Bar' => '1.234' },
- recommends => { 'Foo::Bar::Opt' => '1.234' },
- build_requires => { 'Test::Foo' => '2.34' },
- configure_requires => { 'Build::Foo' => '0.12' },
- license => 'perl',
- resources => {
- homepage => 'http://bana.na/phone',
- license => 'http://b.sd/license',
+ license => 'perl_5',
+ resources => {
+ homepage => 'http://bana.na/phone',
+ license => 'http://b.sd/license',
+ },
+ version => '0.001',
+ );
+
+ for my $key (sort keys %want) {
+ is_deeply(
+ $meta->{ $key },
+ $want{ $key },
+ "$key is what we want in 2.0 $type",
+ );
+ }
+ }
+}
+
+{
+ # 1.4
+ my $tzil = Dist::Zilla::Tester->from_config(
+ { dist_root => 'corpus/DZT' },
+ {
+ add_files => {
+ 'source/dist.ini' => simple_ini(
+ 'GatherDir',
+ [ MetaResources => HomePage => {homepage => 'http://bana.na/phone'}],
+ [ MetaResources => License => {license => 'http://b.sd/license' }],
+ [ Prereq => { 'Foo::Bar' => '1.234' } ],
+ [ Prereq => RuntimeRecommends => { 'Foo::Bar::Opt' => '1.234' } ],
+ [ Prereq => BuildRequires => { 'Test::Foo' => '2.34' } ],
+ [ Prereq => ConfigureRequires => { 'Build::Foo' => '0.12' } ],
+ [ MetaJSON => { version => 1.4 } ],
+ 'MetaYAML',
+ 'MetaConfig',
+ ),
+ },
},
- version => '0.001',
);
- for my $key (sort keys %want) {
- is_deeply($meta->{ $key }, $want{ $key }, "$key is what we want in $type");
+ $tzil->build;
+
+ my @files = map {; $_->name } @{ $tzil->files };
+
+ my %meta;
+
+ my $json = $tzil->slurp_file('build/META.json');
+ $meta{json} = JSON->new->decode($json);
+
+ my $yaml = $tzil->slurp_file('build/META.yml');
+ $meta{yaml} = YAML::Tiny->new->read_string($yaml)->[0];
+
+ is_deeply($meta{json}, $meta{yaml}, "META.json is_deeply META.yml");
+
+ for my $type (qw(json yaml)) {
+ my $meta = $meta{$type};
+
+ my %want = (
+ name => 'DZT-Sample',
+ abstract => 'Sample DZ Dist',
+ author => [ 'E. Xavier Ample <example@example.org>' ],
+
+ configure_requires => { 'Build::Foo' => '0.12' },
+ build_requires => { 'Test::Foo' => '2.34' },
+ requires => { 'Foo::Bar' => '1.234' },
+ recommends => { 'Foo::Bar::Opt' => '1.234' },
+
+ license => 'perl',
+ resources => {
+ homepage => 'http://bana.na/phone',
+ license => 'http://b.sd/license',
+ },
+ version => '0.001',
+ );
+
+ for my $key (sort keys %want) {
+ is_deeply(
+ $meta->{ $key },
+ $want{ $key },
+ "$key is what we want in 1.4 $type",
+ );
+ }
}
}
@@ -57,17 +57,14 @@ $tzil->build;
{
my $contents = $tzil->slurp_file('build/txt/dingo.tmpl');
- like(
+ is(
$contents,
- qr/Kidneys {{ \$dist->version }}\n/sm,
+ <<'END_TMPL',
+Welcome to Dingo Kidneys {{ $dist->version }}
+Generated by {{ $plugin->VERSION || 0 }}
+END_TMPL
'we include template literals into dingo.tmpl',
);
-
- like(
- $contents,
- qr/^Generated by {{ \$plugin->VERSION/sm,
- 'we include template literals into dingo.tmpl (line 2)',
- );
}
done_testing;
@@ -0,0 +1,64 @@
+use strict;
+use warnings;
+use Test::More 0.88;
+
+use ExtUtils::Manifest;
+
+use lib 't/lib';
+
+use Test::DZil;
+
+my $tzil = Dist::Zilla::Tester->from_config(
+ { dist_root => 'corpus/DZT' },
+ {
+ add_files => {
+ q{source/file with spaces.txt} => "foo\n",
+ q{source/file\\with some\\whacks.txt} => "bar\n",
+ # q{source/'file-with-ticks.txt'} => "baz\n",
+ q{source/file'with'quotes\\or\\backslash.txt} => "quux\n",
+ 'source/dist.ini' => simple_ini(
+ 'GatherDir',
+ 'Manifest',
+ ),
+ },
+ },
+);
+
+$tzil->build;
+
+my $manihash = ExtUtils::Manifest::maniread($tzil->built_in->file('MANIFEST'));
+
+is_deeply(
+ [ sort keys %$manihash ],
+ [ sort(
+ 'MANIFEST',
+ q{file with spaces.txt},
+ q{file\\with some\\whacks.txt},
+ q{file'with'quotes\\or\\backslash.txt},
+ # q{'file-with-ticks.txt'},
+ 'dist.ini',
+ 'lib/DZT/Sample.pm',
+ 't/basic.t',
+ ) ],
+ 'manifest quotes files with spaces'
+);
+
+my @manilines = split /\n/, $tzil->slurp_file('build/MANIFEST');
+chomp @manilines;
+
+is_deeply(
+ [ sort @manilines ],
+ [ sort(
+ 'MANIFEST',
+ q{'file with spaces.txt'},
+ q{'file\\\\with some\\\\whacks.txt'},
+ # q{'\\'file-with-ticks.txt\\''},
+ q{'file\\'with\\'quotes\\\\or\\\\backslash.txt'},
+ 'dist.ini',
+ 'lib/DZT/Sample.pm',
+ 't/basic.t',
+ ) ],
+ 'manifest quotes files with spaces'
+);
+
+done_testing;
@@ -0,0 +1,172 @@
+use strict;
+use warnings;
+use Test::More 0.88;
+
+use lib 't/lib';
+
+use Test::DZil;
+use CPAN::Meta::Converter;
+
+my $generated_by = 'Dist::Zilla::Tester version '
+ . (Dist::Zilla::Tester->VERSION || '(undef)');
+
+my $converted_by = "$generated_by, CPAN::Meta::Converter version "
+ . CPAN::Meta::Converter->VERSION;
+
+{
+ my $tzil = Dist::Zilla::Tester->from_config(
+ { dist_root => 'corpus/DZT' },
+ {
+ add_files => {
+ 'source/dist.ini' => simple_ini(
+ [
+ 'MetaResources' => {
+ homepage => 'http://example.com',
+ bugtracker => 'http://bugs.example.com',
+ repository => 'git://example.com/project.git',
+ },
+ ],
+ ['MetaYAML'],
+ ['MetaJSON'],
+ ),
+ },
+ },
+ );
+
+ eval { $tzil->build };
+ ok(!$@,
+ 'no errors from old-style bugtracker and repository for MetaResources');
+
+ is_yaml(
+ $tzil->slurp_file('build/META.yml'),
+ {
+ abstract => 'Sample DZ Dist',
+ author => ['E. Xavier Ample <example@example.org>'],
+ build_requires => {},
+ dynamic_config => 0,
+ generated_by => $converted_by,
+ license => 'perl',
+ 'meta-spec' => {
+ url => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
+ version => '1.4'
+ },
+ name => 'DZT-Sample',
+ resources => {
+ homepage => 'http://example.com',
+ bugtracker => 'http://bugs.example.com',
+ repository => 'git://example.com/project.git',
+ },
+ version => '0.001'
+ },
+ 'META.yml matches expected 1.4 spec output'
+ );
+
+ is_json(
+ $tzil->slurp_file('build/META.json'),
+ {
+ abstract => 'Sample DZ Dist',
+ author => ['E. Xavier Ample <example@example.org>'],
+ dynamic_config => 0,
+ generated_by => $generated_by,
+ license => 'perl_5',
+ 'meta-spec' => {
+ url => 'http://github.com/dagolden/cpan-meta/',
+ version => 2
+ },
+ name => 'DZT-Sample',
+ prereqs => {},
+ resources => {
+ bugtracker => { web => 'http://bugs.example.com' },
+ homepage => 'http://example.com',
+ repository => { url => 'git://example.com/project.git' }
+ },
+ version => '0.001'
+ },
+ 'META.json was 2.0 output, old-style resources were upgraded'
+ );
+}
+
+{
+ my $tzil = Dist::Zilla::Tester->from_config(
+ { dist_root => 'corpus/DZT' },
+ {
+ add_files => {
+ 'source/dist.ini' => simple_ini(
+ [
+ 'MetaResources' => {
+ homepage => 'http://example.com',
+ 'bugtracker.web' => 'http://bugs.example.com',
+ 'bugtracker.mailto' => 'project@bugs.example.com',
+ 'repository.url' => 'git://example.com/project.git',
+ 'repository.web' => 'http://example.com/git/project',
+ 'repository.type' => 'git',
+ },
+ ],
+ ['MetaYAML'],
+ ['MetaJSON'],
+ ),
+ },
+ },
+ );
+
+ eval { $tzil->build };
+ ok(!$@,
+ 'no errors from new-style bugtracker and repository for MetaResources');
+
+ is_yaml(
+ $tzil->slurp_file('build/META.yml'),
+ {
+ abstract => 'Sample DZ Dist',
+ author => ['E. Xavier Ample <example@example.org>'],
+ build_requires => {},
+ dynamic_config => 0,
+ generated_by => $converted_by,
+ license => 'perl',
+ 'meta-spec' => {
+ url => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
+ version => '1.4'
+ },
+ name => 'DZT-Sample',
+ resources => {
+ homepage => 'http://example.com',
+ bugtracker => 'http://bugs.example.com',
+ repository => 'git://example.com/project.git',
+ },
+ version => '0.001'
+ },
+ 'META.yml matches expected 1.4 spec output, new style resources were down-graded'
+ );
+
+ is_json(
+ $tzil->slurp_file('build/META.json'),
+ {
+ abstract => 'Sample DZ Dist',
+ author => ['E. Xavier Ample <example@example.org>'],
+ dynamic_config => 0,
+ generated_by => $generated_by,
+ license => 'perl_5',
+ 'meta-spec' => {
+ url => 'http://github.com/dagolden/cpan-meta/',
+ version => 2
+ },
+ name => 'DZT-Sample',
+ prereqs => {},
+ resources => {
+ bugtracker => {
+ web => 'http://bugs.example.com',
+ mailto => 'project@bugs.example.com',
+ },
+ homepage => 'http://example.com',
+ repository => {
+ type => 'git',
+ url => 'git://example.com/project.git',
+ web => 'http://example.com/git/project',
+ }
+ },
+ version => '0.001'
+ },
+ 'META.json was 2.0 output'
+ );
+}
+
+done_testing;